在我的Django新闻网站上发布了一篇新文章(以Ajax的形式)之后,我想返回文章的链接。
为此,我使用了一个模板对象,该对象如下:
if form.is_valid():
form.instance.user = request.user
new_article = form.save()
success = Template('<div id="panel_input" class="col-lg-4"> <h2 class="text-center"> Success </h2> <p class="text-center"> Your Article has been posted. You can see and edit details by clicking <a href="{% url "article_manager:article" %}/{{ article_id }}">here</a>. </p></div>')
context = Context({"article_id" : new_article.pk})
return HttpResponse(success.render(context))用于此的urlsConf如下所示:
...
url(r'^article/(?P<article_id>\d+)/$', views.article, name='article'),
...问题是,由于{% url "article_manager:article" %}/{{ article_id }},我得到了一个错误。显然,我必须在前面的标记中传递article_id,因为urlsConf需要id参数。
但是,当我将第二个标记放入第一个标记时,也会得到一个错误,如下所示:
{% url "article_manager:article" {{ article_id }} %}我不知道如何完成这个任务,它似乎与我的工具不起作用。有人有什么建议吗?
发布于 2014-07-22 15:22:16
试试{% url "article_manager:article" article_id=article_id %}
也许还需要更多的解释:您正确地调用了模板标记{% url "namespace:name" %}。请记住,一些模板可以采用*args, **kwargs形式的参数。args可以是模板语言理解的任何简单表达式,包括一个上下文变量(不需要添加双大括号)。kwargs遵循相同的规则,并具有表单argument=expression。因此,您可以使用表单{% tag "exp" 1 request number=5 username=user.name %}调用一些模板标记。
https://stackoverflow.com/questions/24891233
复制相似问题