我们说我有很多帖子,每个帖子都有一个网址example.com/post_id
。此帖后还有一个HTML表单,可以提交评论。如果我必须将此评论提交到此网址:example.com/submit
,那么我可以<form action="submit/" method="post">
。但是,我希望将此评论提交到此网址:example.com/post_id/submit
,以便在调用该视图时,该视图可以访问post_id
。这样我就可以将输入的注释与post_id
一起存储在数据库中。 (我可以通过request.path_info
访问请求网址。)
一种方法是将{{request.path}}
与&#34;提交&#34;联合起来。在模板中的HTML表单操作中。但我无法做到这一点。可以做{{value|add:"submit"}}
。但是如何将{{request.path}}
代替价值?
tl; dr使用django模板,如何将post_id/submit
url传递给HTML表单操作。 (此处当前网址为example.com/post_id
。)
答案 0 :(得分:1)
尝试解析/修改现有URL是个坏主意。但是没有理由。您的模板可能已经可以访问帖子本身,因此您应该使用此模板通过普通{% url %}
标记构建网址。
<form action="{% url "submit_comment" post_id=post.id %}" method="POST">
假设帖子作为post
传递给模板,并且有一个如下所示的urlconf:
url(r'(?P<post_id>\d+)/submit/$', views.submit_comment, name='submit_comment'),