Поскольку вы определили функцию с именем user
, которая перезаписала здесь ссылку на модель user
.
Вы можете использовать псевдоним в вашем импорте, например:
from django.shortcuts import render, get_object_or_404
from .models import user <b>as UserModel</b>
def index(request):
return render(request, 'pages/index.html')
def user(request, user_id):
profile = get_object_or_404(<b>UserModel</b>, pk=user_id)
context = {
'profile' : profile
}
return render(request, 'user/user.html', context)
При этом в соответствии с правилами стиля PEP-8 имена классов должны быть записаны в CamelCase
, а имена функций - в lowercase_separated_by_underscores
.Поэтому, если вы соответствуете этим рекомендациям, вам следует переименовать вашу модель user
в User
.
Поскольку у Django уже есть модель с именем User
[Django-doc] (в django.contrib.auth
), вы можете переименовать, например, в Profile
.