У меня есть ссылка на "Мой аккаунт" на моем сайте
{% if user.is_authenticated %}
<a class="nav-link" href="{% url 'user_detail' id=request.user.id %}">My Account</a>
{% endif%}
на моем urls.py У меня есть эта строка
url(r'^users/(?P<id>\d+)$', views.UserDetailView.as_view(), name='user_detail'),
views.py
class UserDetailView(DetailView):
context_object_name = 'es_user'
model = es_user
models.py
class es_user(models.Model):
user = models.OneToOneField(User,related_name='es_user', on_delete=models.CASCADE)
def get_absolute_url(self):
print("self.user.id=",self.user.id)
return reverse('user_detail', kwargs={'id': self.user.id })
Но когда я нажимаю на ссылку " Мой аккаунт ", я получаю эту ошибку
AttributeError at /users/3
Generic detail view UserDetailView must be called with either an object pk or a slug in the URLconf.
Здесь 3 - идентификатор пользователя, вошедшего в систему в данный момент, так как пользователь вошел в систему request.user.id
в этой строке <a class="nav-link" href="{% url 'user_detail' id=request.user.id %}">My Account</a>
не возвращает нулевые значения.
Я не могу найти ошибку, используя сообщение об ошибке от django. кто-нибудь, помогите мне