noi*_*oio 50 javascript django ajax google-app-engine dry
我在Appengine上使用Django.我reverse()到处都在使用django 功能,尽可能保持干燥.
但是,我在将这个应用到我的客户端javascript时遇到了麻烦.有一个JS类根据传入的ID加载一些数据.有没有一种标准的方法来对这些数据应该来自的URL进行硬编码?
var rq = new Request.HTML({
'update':this.element,
}).get('/template/'+template_id+'/preview'); //The part that bothers me.
Run Code Online (Sandbox Code Playgroud)
Ana*_* Rr 33
还有另一种方法,它不需要暴露整个url结构或用于解析每个url的ajax请求.虽然它不是很漂亮,但它简单地击败了其他人:
var url = '{% url blog_view_post 999 %}'.replace (999, post_id);
Run Code Online (Sandbox Code Playgroud)
(blog_view_post网址999当然不能包含幻数.)
kdo*_*pen 10
刚刚解决这个问题,我提出了一个稍微不同的解决方案.
在我的例子中,我想要一个外部JS脚本在按钮点击时调用AJAX调用(在进行一些其他处理之后).
在HTML中,我使用了HTML-5自定义属性
<button ... id="test-button" data-ajax-target="{% url 'named-url' %}">
Run Code Online (Sandbox Code Playgroud)
然后,在javascript中,简单地做了
$.post($("#test-button").attr("data-ajax-target"), ... );
Run Code Online (Sandbox Code Playgroud)
这意味着Django的模板系统reverse()为我完成了所有逻辑.
| 归档时间: |
|
| 查看次数: |
17469 次 |
| 最近记录: |