Я новичок в Django. Я пытаюсь создать форму на 'example.com/contacts/10/edit', которая позволяет редактировать детали контакта, а затем привести вас на страницу подробных данных этого контакта (example.com/contacts/10) , 10 в этих случаях является значением pk по умолчанию.Как создать шаблон модели в шаблоне django
Мне удалось отобразить форму, которая редактирует контакт в базе данных, но форма пуста в шаблоне, и я не могу понять, как заполнить форму данными из базы данных.
ModelForm Я использую - AddForm() - это то же самое, что я использую, чтобы добавить новый контакт
Вот мой код, то, вероятно, некоторые избыточные вещи здесь поэтому, пожалуйста, медведь со мной. Вся помощь приветствуется.
views.py
def EditContact(request, pk):
instance = get_object_or_404(Contact, id=pk)
if request.POST:
form = AddForm(request.POST or None, instance=instance)
if form.is_valid():
form.save()
return HttpResponseRedirect('/contacts/')
else:
form = AddForm()
return render(request, 'contacts/edit.html', {'form': form})
форма в шаблоне:
<form action="" method="POST"> {% csrf_token %}
<table>
<p> {{ form.as_ul }}</p>
</table>
<input type="submit" value="Post">
</form>
Кроме того, я недавно прочитал о общих взглядах редактирования, может быть, кто-то может сказать мне, если они будут более подходящими для того, что я пытаясь достичь - то есть добавлять, редактировать и удалять контакты из базы данных. Благодарю.
И вы должны упасть 'или Non e': вы находитесь в request.POST, нет никакой возможности, что это None. –
правый .. редактирование .. спасибо @DanielRoseman – karthikr