元のフィールドデータをその結果と共に結果ページに投稿する方法を理解しようとしています。 Djangoで書かれた2つのHTMLページを持つアプリがあります。入力ページと結果ページ。入力ページにはフォームがあります。結果ページには出力があります。リファレンスオリジナルの投稿データDjango
models.py
class IssuingCA (models.Model):
ICA_name = models.CharField(max_length=200)
filepath = models.CharField(max_length=200)
def __str__(self):
return self.ICA_name
views.py(簡易版)
def index(request):
issuers = IssuingCA.objects.order_by('ICA_name')
issuerOptions = {'issuers': issuers}
return render(request, 'index.html', issuerOptions)
def results(request):
issuer = request.POST['selectedIssuer']
issuername = 'Where I want the ICA_name value "icas" displayed'
info = {'issuer': issuer, 'issuername': issuername}
return render(request, 'results.html', info)
index.htmlを
--snip--
<label for="selectedIssuers">Issuing CA</label>
<select id="selectedIssuers" name="selectedIssuers">
{% for icas in issuers %}
<option value="{{ icas.filepath }}">{{ icas }}</option>
{% endfor %}
--snip--
results.html:ここで私は場所に持っているコードがあります
--snip--
<div>{{ issuer }}</div>
<div>{{ issuername }}</div>
--snip--
DBのサンプルデータを設定しましょう: ICA_Name = "squirrel";アプリケーションが動作するファイルパス=「いくつかの/森/中」
方法は、それがすべての値のICA_name
を表示するindex.htmlページにあるドロップダウンを提示していることです。 ICA_name
(この場合は 'squirrels')を選択して送信すると、POST経由でリクエストしたsquirrels - in/some/forestのfilepath
というオプションの値が渡され、結果ページに表示されます。私が欲しいのは、また、結果ページにリスの元の値を表示する方法ですissuer
ため、<div>
のテキストが(これは現在動作します)リスを示していることなどとIssuerName
ため、<div>
内のテキストは、中を示し/ some/forest。あなたは手動で行う必要がある場合
Hmm ..私はpk値を使用し、そのフィールドを参照することについて決して考えなかった。私はあなたが{'issuer':issuing_ca.filepath}を書くことも知っていませんでした。あなたは何か新しいことを教えてくれました!私はちょうどこれをテストし、それは動作します!ありがとうございました!以前はフォームを調べていましたが、今後のバージョンでアプリケーションを使用するようにアプリケーションを更新するつもりです。 – Eddi
すぐにやってください。待たないでください。セキュリティ機能ではなくても、特に既に書かれたコード(常にメインタイムシンク)を維持/拡張する場合には、多くの時間を節約できます。 –