【发布时间】:2016-12-20 16:45:12
【问题描述】:
我有一个问题可以帮助我完成我的项目。 我想知道是否可以将 HTML 输入操作与 Django 变量连接起来?
例如:
<form method='POST' action='/BirthCertificate/BirthCertificate_PDF/'+ {{birthcertificate.id}}> {% csrf_token %}
为了得到:/BirthCertificate/BirthCertificate_PDF/12/
例如,其中 12 是指在我的表中创建的最后一个 ID。
然后,我有一个函数,它接受这个 id 号并做一些事情,因为我知道有用的行:
来自 views.py 文件:
def BirthCertificate_PDF(request, id) :
birthcertificate = get_object_or_404(BirthCertificate, pk=id)
return render(request, 'BC_raw.html', {"birthcertificate" : birthcertificate})
来自 urls.py 文件:
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^accueil$', views.BirthCertificate_Home, name="home"),
url(r'^formulaire$', views.BirthCertificate_Form, name = "form"),
url(r'^formulaire_traite/(?P<id>\d+)/$', views.BirthCertificate_Resume, name="treated"),
url(r'^BirthCertificate_PDF/(?P<id>\d+)/$', views.BirthCertificate_PDF, name="PDF")
]
我认为我的问题真的很难看,但如果我可以连接两个元素,它可能会起作用。
谢谢你的建议,
【问题讨论】:
-
你试过后得到了什么?..
-
我认为一般的答案是
{{var}}可以在 Django 模板渲染中的任何地方工作,除了{% stuff %}内部或嵌套在外部{{...}}中。没有+连接运算符,它只是用var 的值直接替换{{var}}的文本。在 Web 浏览器中查看您的视图输出的页面源代码,看看发生了什么!。但是,对于这种 特定 用法,有充分的理由使用{% url ...%},如下面的 Daniel Roseman 回答。 -
谢谢,这正是我搜索的答案。