Я знаю, что мы не должны использовать stackoverflow для отладки, но я пытался исправить это последние 10 часов, и я чувствую себя безнадежным, мои извинения.
#main project urls.py:
urlpatterns = [
...
path('accounts/',include('employee.urls')),
...
]...
#employee.urls:
urlpatterns = [
...
path('employees/', views.display_employees),
path('edit/<str:employee_ssn>/', views.edit_employee),
...
]
#views.py - edit_employee being used only for testing by now
def display_employees(request):
logged_user = request.user
queryset = Employee.objects.filter(company=logged_user.company)
context = {
'employees': queryset
}
return render(request, 'employees.html', context)
def edit_employee(request, employee_ssn):
context = {}
emp = Employee.objects.filter(ssn=employee_ssn)
context = {
'employee_list': emp
}
return render(request, 'edit-employee.html', context)
#employees.html
<ul>
{% for obj in employees %}
<li>{{ obj.name }}</li>
<li>{{ obj.ssn }}</li>
<li>{{ obj.email }}</li>
<li><a href="{% url '/accounts/edit/' obj.ssn %}">edit</a></li><br>
{% endfor %}
</ul>
#edit-employee.html
<ul>
{% for obj in employee_list %}
<li>{{ obj.name }}</li>
<li>{{ obj.ssn }}</li>
<li>{{ obj.email }}</li>
{% endfor %}
</ul>
При нажатии на edit
он говорит:
Тип исключения: NoReverseMatch Значение исключения: Реверс для '/ accounts / edit /' не найден. '/ accounts / edit /' не является допустимой функцией просмотра или именем шаблона.
Но если URL-адрес http://localhost:8000/accounts/edit/<employee_snn>/
вводится в браузере, edit-employee.html
отображается нормально. Также говорится, что ошибка находится в моем базовом шаблоне в строке 0.