我在Appengine上使用Django。我在任何地方都使用django reverse()函数,尽可能保持一切正常。
然而,在我的客户端javascript上应用它时遇到了问题。有一个JS类可以根据传入的ID加载一些数据。有没有一种标准的方法来不硬编码这些数据应该来自的URL?
var rq = new Request.HTML({
'update':this.element,
}).get('/template/'+template_id+'/preview'); //The part that bothers me.发布于 2011-10-08 05:21:36
发布于 2012-06-29 21:43:13
还有另一种方法,它不需要公开整个url结构或解析每个url的ajax请求。虽然它不是真的很漂亮,但它以简单的方式击败了其他人:
var url = '{% url blog_view_post 999 %}'.replace (999, post_id);(当然,blog_view_post urls本身不能包含神奇的999编号。)
发布于 2016-06-03 01:16:47
经过一番努力,我想出了一个稍有不同的解决方案。
在我的例子中,我想要一个外部JS脚本在按钮单击时调用AJAX调用(在执行一些其他处理之后)。
在HTML中,我使用了HTML-5自定义属性,如下所示
<button ... id="test-button" data-ajax-target="{% url 'named-url' %}">然后,在javascript中,简单地做了
$.post($("#test-button").attr("data-ajax-target"), ... );这意味着Django的模板系统为我完成了所有的reverse()逻辑。
https://stackoverflow.com/questions/2724383
复制相似问题