Im want when user click profile pass to profile.html
i want to user when click profile pass user to profile.html but problem i don't solve hem
--------- path
path('home', views.home, name="home"),
path('profile/<int:id>', views.profile_views, name="profile_views")
-------- models
class profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
music = models.CharField(max_length=50)
skils = models.CharField(max_length=50)
search = models.CharField(max_length=50)
posts = models.CharField(max_length=50)
boi = models.TextField()
img = models.ImageField(upload_to="profile-img")
def __str__(self):
#return self.user or 'User'
return str(self.id)
def create_profile(sender, **kwargs):
if kwargs['created']:
user_profile = profile.objects.create(user=kwargs['instance'])
post_save.connect(create_profile, sender=User)
------- views
def home(request, id):
pro_id = profile.objects.get(id=id)
context = {'pro_id' : pro_id}
return render(request, 'main-frond.html')
def profile_views(request, id):
ff = profile.objects.get(id=id)
context = {'ff' : ff}
return render(request, 'profile.html', context)
------ html
<br>
<a href="{% url 'profile_views' pro_id.id %}">profile</a>
<br>
<hr>
{{request.user}}
<hr>
<a href="{% url 'login' %}" id="login-register" style="float: right;">Login</a>
<a href="{% url 'register' %}" id="login-register">Register</a>
where's the problem
i want to user when click profile pass user to profile.html but problem i don't solve hem
path('home', views.home, name="home"),
does not match
def home(request, id):
If this is your path:
path('home', views.home, name="home"),
path('profile/<int:id>', views.profile_views, name="profile_views")
views.py:
def home(request):
return render(request, 'main-frond.html')
D’abord faudrait se rassurer que l’utilisateur est connecté et s’il n’est pas connecté que le bouton profil sur la page home ne s’affiche pas ou qu’elle renvoie d’abord sur la page se connecter, l’utilisateur ne peut pas aller sur son profil sans être connecté vu que le lien vers le profil requiert le ID de l’utilisateur du coup ça va renvoyer une erreur.
Faites une une vérification
If pro_id.id is not None : … profil Else: Connectez-vous