ユーザーが2つのアクションを実行できるライブラリ用のフォームを作成しようとしています。新しいブックを追加したり、既存のブックの情報を開くことができます。書籍には2つのフィールド(タイトルと著者)があります。 新しい本が作成されるたびに、その書籍がデータベースに保存されます。以前に作成された書籍は、ドロップダウンリスト(名前のみ)にオプションとして表示されます。ユーザーがドロップダウンリストからオプションを選択すると、選択したブックの情報が画面に表示されます。djangoフォームのドロップダウンリスト
私は2つの異なるアプローチを試みてきましたが、いずれも自分の要件を満たしていません。 一方で、この質問django form dropdown list of numbers次私は、ドロップダウンリストを作成することができるよ、とそのようないくつかのコードでのビューで選択した値を取得する:
class CronForm(forms.Form):
days = forms.ChoiceField(choices=[(x, x) for x in range(1, 32)])
def manage_books(request):
d = CronForm()
if request.method == 'POST':
day = request.POST.get('days')
しかし、私は私のオプションはで以前に保存されたブックになりたいですデータベースであり、予め定義された値ではない。
私が試した他のアプローチは、htmlテンプレートから行うことです。本はここからの景色で描画され
<form>
{% for book in list %}
<option value="name">{{ book.name }}</option>
{% endfor %}
</form>
:そこ私は、次のフォームの作成この第二のケースで
l = Books.objects.all().order_by('name')
ドロップダウンリストに表示される情報は、私が欲しいものですが、私ドン選択した値を取得してビューで使用する方法はわかりません。おそらくjavascript関数を使用していますか?
私の2つの要件は次のとおりです。リスト(ユーザーがDBに保存)に正しい情報を表示し、どの情報が選択されているかを知ることができます。
おかげでたくさんだ場合、そのビューに、あなたがチェックしましょう次に、それは私が必要なものです! :) – toni
どのようにhtmlのこのドロップダウンリストフォームを配置しますか、それは通常のフォームと同じですか? –