Я создаю приложение django, которое требует от пользователей входа в систему и наличия профилей, которые должны просматривать другие пользователи, но я застрял при создании уникальных URL-адресов для каждого пользователя. Я хочу, чтобы пользователь перенаправлялся на myexample.com/elon-musk вместо my-example.com/profile, чтобы каждая страница профиля пользователя была уникальной. Есть идеи, как мне это сделать? Заранее спасибо.
models.py
class ContractorProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name= 'profile',)
image = models.ImageField(default='default.jpg', upload_to='profile_pics')
first_name = models.CharField(max_length=20, blank=True)
last_name = models.CharField(max_length=20, blank=True)
slug = models.SlugField(null=True, blank=True)
def save(self, *args, **kwargs):
if slug is None:
slug = slugify(self.user)
while self.__class__.objects.filter(slug=slug).exists():
slug = "%s-%s" % (slug,str(uuid.uuid4())[:5])
self.slug = slug
super(ContractorProfile, self).save(*args, **kwargs)
views.py
@login_required
def dynamic_lookup_view(request, user):
obj = ContractorProfile.objects.get(user=user)
return render (request, "CsignTest/profile.html", {"obj": obj})
urls.py
re_path(r'^profile/(?P<user>\w+)/$', CsignTest_views.dynamic_lookup_view, name='user-prof'),