dir*_*r01 23 javascript django url reverse
在我的项目中,我有很多Ajax方法,使用外部客户端脚本(我不想将JavaScript包含在模板中!)和更改URL对我来说很麻烦,因为我需要手动更改Ajax调用中的URL .
有没有办法{% url %}
在JavaScript中模拟templatetag 的行为?
例如,从^ajax
脚本开始和稍后在脚本中打印urlpatterns会将模式替换为实际值吗?
这就是我的想法,我的问题是 - 是否有任何常见的做法来做这样的事情?也许一些可重用的应用程序?我也很乐意阅读您的任何建议和相关想法.
更新1: 我说的是计算网址,而不是静态网址:
url(r'^ajax/delete/(?P<type>image|audio)/(?P<item_id>\d+)/from/set/(?P<set_id>\d+)/$', 'blog.ajax.remove_item_from_set'),
Run Code Online (Sandbox Code Playgroud)
kod*_*sin 20
尝试创建javascript帮助函数(在django模板中)以生成url字符串.在简单的形式,他们可能看起来像这样:
function generete_some_url(id){
return "{% url some_url itemid=112233 %}".replace("112233", id);
}
Run Code Online (Sandbox Code Playgroud)
也许这有一些其他影响,但我认为它应该有效.
oza*_*zan 13
将JavaScript放入模板有什么问题?
您经常要在HTML模板中调用初始化函数,那么为什么不传递包含您将使用的URL的对象?
<script>
MYGLOBAL.mymodule.init({
fancy_ajax_url: '{% url fancy %}',
fancier_ajax_url: '{% url fancier %}'
});
</script>
Run Code Online (Sandbox Code Playgroud)
如果你发现自己以这种方式传递了很多变量,或者想要在你的HTML模板中使用JavaScript,那么为什么不通过Django的模板引擎渲染你的脚本呢?请记住,Django模板不仅适用于HTML文档 - 通常有助于将模板用于纯文本,XML,JSON,甚至是JavaScript.担心表现?然后缓存结果.
小智 12
我创建了一个机制,在Django项目中构建一个url模式列表,并在Javascript文件中输出.它是django-js-utils的一个分支.
回购链接在这里:https: //github.com/Dimitri-Gnidash/django-js-utils
dir*_*r01 10
https://github.com/mlouro/django-js-utils
dutils是一个小型实用程序库,旨在为JavaScript/Django开发人员提供一些实用程序,这些实用程序将帮助在Django后端上开发RIA.
它目前支持以下功能:
- 生成Django网址的反向方法......
为此,我们创建了一个名为django-js-reverse的小应用程序.
例如,您可以检索已命名的URL
urls.py:
url(r'^/betterliving /(?P [ - \w] +)/(?P\d +)/ $','get_house',name ='betterliving_get_house'),
在javascript中像:
Urls.betterliving_get_house('house',12)
结果:
/ betterliving /房子/ 12 /
归档时间: |
|
查看次数: |
13556 次 |
最近记录: |