Привет, помогите пожалуйста решить следующую проблему:
При регистрации создается новый профиль пользователя, необходимо чтобы ссылка в шаблоне вела на страницу его профиля. Пробовал разными способами передать в ссылку PK профиля, но видимо что-то упустил и не могу понять как это сделать правильно.
Пробовал так: {% url 'profile' pk=user.id %}
и это работает, но на другой странице появляется ошибка: Reverse for 'profile' with keyword arguments '{'pk': None}' not found.
models
class UserProfileM(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True, unique=True)
def __str__(self):
return self.user.username
def create_profile(sender, **kwargs):
if kwargs['created']:
user_profile = UserProfileM.objects.create(user=kwargs['instance'])
post_save.connect(create_profile, sender=User)
view
class profile(DetailView):
model = UserProfileM
template_name = 'profile.html'
context_object_name = 'user_profile'
url
urlpatterns = [
path('', views.index, name='index'),
path('accounts/', include('allauth.urls')),
path('add-offer', views.addOffer, name='addOffer'),
path('accounts/profile/<int:pk>/', views.profile.as_view(), name='profile')
]