Я хотел бы предварительно заполнить выпадающее поле на основе URL-запроса из тега URL. Я пытаюсь получить его там, где сайт - это список книг, а когда вы находитесь на странице книги, если вы хотите сделать несколько заметок в этой книге, тогда вы нажмете кнопку «Заметить», и она вы перейдете на страницу формы для заметок, где выпадающее поле вверху для имени книги будет предварительно заполнено из названия страницы книги, с которой вы только что пришли.Django предварительно заполнить раскрывающийся список формы на основе запроса url
Мой URL на "/ detail.hmtl книги" страница выглядит следующим образом:
{% url 'books:take_notes' book.id %}
view.py - то для страницы делать заметки, я пытался в NoteForm предварительного заполнения(), как это:
def take_notes(request, book_id):
mybook = Book.objects.get(pk=boo_id)
form = NoteForm(initial={'book':mybook.title})
urls.py -
url(r'^take_notes/(?P<book_id>\d+)/$', views=take_notes, name='take_notes'),
NoteForm() имеет 3 поля
class NoteForm(forms.ModelForm):
class Meta:
model = Note
fields = ('book', 'title', 'note',)
widgets = {
'note': forms.Textarea,
}
Когда я использую начальное значение для «title», он будет препопыляться, но это не будет для «книги», потому что это раскрывающееся окно. Есть идеи? Благодарю.
Ваши советы и советы Даниэля Роземана были на месте. Это поле ForeignKey, поэтому мне пришлось искать его по id, а не по строке. Синтаксис, который я использовал и работал: form = NoteForm (initial = {'book': book_id}) –