Задача, которую я пытаюсь выполнить, - дать пользователю, вошедшему в систему, возможность обновлять и удалять свой список контактов с помощью представлений Django. Я закодировал все функциональные возможности шаблонов и views.py, но не смог продолжить работу.
Вот что я смог достичь:
"views.py":
@login_required
def update_contact(request,contact_id=1):
current_user = request.user.get_username()
user = User.objects.filter(username=current_user).first()
output = UserContacts.objects.filter(current_user_id=user.id)
count = output.count()
contact_obj =get_object_or_404(UserContacts,id = contact_id)
form = UserContactForm()
if request.method == "POST":
form = UserContactForm(request.POST,instance=contact_obj)
if form.is_valid():
form.save(commit=True)
return index(request)
else:
print('Error Form Invalid')
my_dict = {'output':output,'form':form}
return render(request,'basic_app/update.html',my_dict)
Вот мой шаблон для update.html для обновления контакта:
{%extends 'basic_app/base.html' %}
{% block body_block %}
<div class="jumbotron">
<h1>Welcome to update contact page</h1>
<br />
{% if output %}
<table class="table table-striped">
<thead class="thead-dark">
<th>First Name</th>
<th>Edit</th>
</thead>
{% for contact in output %}
<tr>
<td>{{ contact.first_name}}</td>
<td><a href="{%url 'basic_app:update_contact' contact.id %}">Edit</a></td>
</tr>
{% endfor %}
</table>
{% else %}
<div class="alert alert-warning" role="alert">
No contact records found!
</div>
{% endif %}
</div>
{% endblock %}
URLS.Py:
app_name = 'basic_app'
urlpatterns = [
url(r'^register/$',views.register,name='register'),
url(r'^user_login/$',views.user_login,name='user_login'),
url(r'^new_contact/$',views.new_contact,name='new_contact'),
url(r'^view_contacts/$',views.view_contacts,name='view_contacts'),
url(r'^update/(?P<contact_id>[\d]+)$',views.update_contact,name='update'),
url(r'^delete/$',views.delete_contact,name="delete")
]
Вот ошибка, в которой я сейчас застрялс
Любая помощь будет принята с благодарностью!