Я работаю над веб-приложением для своего школьного проекта, и я выбрал Django
, и все учебники, найденные в Интернете, были довольно всеобъемлющими, и мне удалось в какой-то момент добраться до того места, где я застрял.
I у меня есть class based view
, пытающийся обновить объект:
views.py
class MyPostUpdateView(UpdateView):
model = Post
fields = ('VideoURL', 'MainDescription')
template_name = 'myapp/editpost.html'
Затем я импортировал в свой urls.py
:
path('profile/account/my-posts/<int:pk>/edit/', MyPostUpdateView.as_view(),
name='myapp-editpost')
Затем в моем шаблоне HTML
у меня есть несколько <form>
элементов, но все они принадлежат одному и тому же элементу <div>
:
<div class="row">
<div class="col-12 col-lg-7">
<form method='post' class="card shadow-soft border p-4 mb-4">
{% csrf_token %}
<h5 class="mb-4">Form1</h5>
<div class="form-group">
<label for="MainDescription">Titlu</label> {{form.MainDescription|add_class:"form-control shadow-soft"}}
</div>
<div class="row">
<div class="col">
<button class="btn btn-primary btn-dark mt-2 animate-up-2" type="submit">Update form
1</button>
</div>
</div>
</form>
</div>
<div class="col-12 col-lg-5">
<form method='post' class="card shadow-soft border p-4 mb-4">
{% csrf_token %}
<h5 class="mb-4">Form2</h5>
<div class="form-group">
<label for="VideoURL">Video URL:</label> {{form.VideoURL|add_class:"form-control shadow-soft"}}
</div>
<div class="row">
<div class="col">
<button class="btn btn-primary btn-dark mt-2 animate-up-2 text-right" type="submit">Update form 2</button>
</div>
</div>
</form>
</div>
</div>
Поведение следующее: я не могу обновить ни одно из двух полей, если я оставлю код HTML
, как указано выше. Однако, если я объединю два поля в одном элементе <form>
, это сработает:
<div class="row">
<div class="col-12 col-lg-7">
<form method='post' class="card shadow-soft border p-4 mb-4">
{% csrf_token %}
<h5 class="mb-4">Form1</h5>
<div class="form-group">
<label for="VideoURL">Video URL:</label> {{form.VideoURL|add_class:"form-control shadow-soft"}}
</div>
<div class="form-group">
<label for="MainDescription">Titlu</label> {{form.MainDescription|add_class:"form-control shadow-soft"}}
</div>
<div class="row">
<div class="col">
<button class="btn btn-primary btn-dark mt-2 animate-up-2" type="submit">Update form
1</button>
</div>
</div>
</form>
</div>
<div class="col-12 col-lg-5">
<form method='post' class="card shadow-soft border p-4 mb-4">
{% csrf_token %}
<h5 class="mb-4">Form2</h5>
<div class="form-group">
<label for="VideoURL">Video URL:</label> {{form.VideoURL|add_class:"form-control shadow-soft"}}
</div>
<div class="form-group">
<label for="MainDescription">Titlu</label> {{form.MainDescription|add_class:"form-control shadow-soft"}}
</div>
<div class="row">
<div class="col">
<button class="btn btn-primary btn-dark mt-2 animate-up-2 text-right" type="submit">Update form 2</button>
</div>
</div>
</form>
</div>
</div>
Может ли кто-нибудь мне это объяснить? Я спрашиваю, потому что я хочу расширить функциональность UpdateView
на другие поля, принадлежащие той же модели. Спасибо!