Когда я пытаюсь запустить страницу / work /, я получаю следующее сообщение об ошибке:
TypeError at /work/
work() missing 1 required positional argument: 'project_id'
Request Method: GET
Request URL: http://72.132.209.86:8000/work/ (Not my real ip)
Django Version: 2.0.5
Exception Type: TypeError
Exception Value:
work() missing 1 required positional argument: 'project_id'
Exception Location: /usr/local/lib/python3.5/dist-packages/django/core/handlers/base.py in _get_response, line 126
Python Executable: /usr/bin/python3
Python Version: 3.5.2
Мой код:
views.py
def work(request):
projectslist = Project.objects.order_by('project_name')[:5]
context = { 'projectslist': projectslist, }
return render(request, 'mywebsite/work.html', context)
def project(request):
return render(request, 'mywebsite/project.html')
urls.py
path('work/', views.work, name='work'),
path('<int:project_id>/', views.project, name='project'),
models.py
class Project(models.Model):
project_name = models.CharField(max_length=200)
project_title = models.CharField(max_length=100)
project_information = models.CharField(max_length=400)
project_link = models.CharField(max_length=30)
project_icon = models.CharField(max_length=40)
project_category = models.CharField(max_length=50)
def __str__(self):
return self.project_name
work.html
{% extends 'mywebsite/base.html' %}
{% block content %}
<ul>
{% for project in projectslist %}
<li><a href="{% url 'project' project.id %}">Testtest</a></li>
{% endfor %}
</ul>
{% endblock %}
Я знаю, что со ссылкой что-то не так, а именно, что она не распознает project.id, но я не знаю, каков источник этой проблемы. Я использую базу данных sqlite3, и у меня зарегистрировано два проекта (на pk = 3 и pk = 4)