2016-12-20 10 views
-2

私のプロジェクトで少し助けになる質問があります。 HTML入力アクションをDjango変数に連結することが可能かどうかを知りたいですか?例えばHTMLテンプレートのDjango変数とHTMLを連結してください。

<form method='POST' action='/BirthCertificate/BirthCertificate_PDF/'+ {{birthcertificate.id}}> {% csrf_token %} 

得るために:12は、例えば、私のテーブルで作成された最後のIDを指し/BirthCertificate/BirthCertificate_PDF/12/

urls.pyファイルから

def BirthCertificate_PDF(request, id) : 

    birthcertificate = get_object_or_404(BirthCertificate, pk=id) 
    return render(request, 'BC_raw.html', {"birthcertificate" : birthcertificate}) 

views.pyファイルから

: はその後、私は、このID番号を受け取り、私は便利な行を知っているので、いくつかのものを作る機能があります。

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") 
] 

私の質問は本当に醜いですが、私は両方の要素を連結することができます。あなたがアドバイスを持っている場合

+0

あなたがそれをしようとしたとき、あなたは何を得るのですか?... – Sayse

+2

私は一般的な答えはその '{{VAR}}であることを考えるには、' '内部' {%スタッフ%}を除いて、Djangoのテンプレートレンダリングのどこでも動作しますか外側の '{{...}} 'にネストされています。連結演算子はありません。 '{{var}} 'にvarの値を直接代入するだけです。何が起こっているかを見るために、あなたのビューの出力をWebブラウザで見ることができます。しかし、この*特定の用途のためには、以下のDaniel Rosemanの答えに従って '{%url ...%}'を使用するのが良い理由があります。 – nigel222

+0

ありがとう、それはまさに私が答えとして検索したものです。 – Deadpool

答えて

4

はあなたがすべてで連結すべきではない、ありがとうない、どちらもあなたは、パスをハードコーディングする必要があります。 {% url %}タグを使用する必要があります。

<form action="{% url "PDF" birthcertificate.id %}"> 
+0

ありがとうございました!今私は '{%url%}' – Deadpool

関連する問題