支持django中ajax开发的实用程序

django_ajax的Python项目详细描述


关于

django_uajax提供了一些基本的结构来使用ajax(以及 javascript)更简单。

如何

django_ajax提供各种实用程序。

呈现为json

render_to_json同时作为视图和装饰器实现。景色的确如此 真正的工作,而decorator是一个自身使用的实用函数 将对象转换为json的视图。

视图需要两个参数:

  • 请求
  • 要输出为json的对象

它设置了一些http头,以确保json可以在任何地方加载,并且 浏览器中没有缓存任何内容。

decorator只调用原始视图函数。如果回答不是 已经是一个httpresponse,它将通过如上所述的视图。

{%json%}

将各种对象呈现为json的模板标记。

语法:

<script type="text/javascript">
        var obj_as_json = {% json object %};
</script>

<script type="text/javascript">
        {# Output "null" of variable does not exist (prevents JS error) #}
        var obj_as_json = {% json object or null %};
</script>

{%ajax_cache%}

将对象传递给某个js函数的实用工具模板标记。可能习惯于 实现js端对象缓存。这将加速js驱动的应用程序,如 模板可以输出js对象,然后无论如何都需要它们。标签 确保每个对象只缓存一次,多个调用只缓存一次 输出一个js调用。

语法:

<script type="text/javascript">
        {% comment %}
                Will output the same as "some_func.to.call({% json object %});"
                But only if object was not used in combination with
                "some_func.to.call" before.
        {% endcomment %}
        {% ajax_cache object using "some_func.to.call" %}
</script>

ajax处理器

与上下文处理器类似,但用于将变量放入js上下文。 通过上下文处理器提供js_上下文,可以使用 {%json js_context%}。示例:

<script type="text/javascript">
        var config = {% json JS_CONTEXT %};
</script>

使用settings.ajax配置处理器,其语法与 对于上下文处理器。

Dango_u AJAX配有三个AJAX处理器 (住在django_ajax.ajax_处理器中):

  • 媒体:提供媒体URL
  • 静态:提供静态URL
  • 会话:提供基本的认证信息
    • 包括ajax登录/注销url和视图

API

在不同的地方使用object.ajax_data(),以允许定义方法转换 models/…转换成字典,可以转换成json。这样你可以 将模型实例直接传递给{%json%},模型可以定义 要输出的数据。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java不可访问配置设计   在java中使用json就像在javascript中一样   java如何屏蔽Android 4.0主密钥   java为什么clickable的预期条件不执行click()?   Azure事件中心:Kafka消费者在java中不轮询任何内容   javajaxb和enum实现接口   java如何在标记下添加ProgressBar和按钮   java如何为对象实现arrayList   使用多重匹配重载java构造方法重载   java使用for循环和if语句搜索帐户   java JPanel在JPanel中添加了顶部填充   IntelliJ将Java项目/模块转换为Maven项目/模块   java如何迭代arraylist中的arraylist   自定义类的java“找不到符号”错误