gpt4 book ai didi

python - 如何链接到 django 上的用户个人资料

转载 作者:行者123 更新时间:2023-12-04 09:46:14 25 4
gpt4 key购买 nike

我一直在尝试链接到用户的个人资料页面,但每次尝试时,它都会返回 404 错误。我不知道,但也许错误出在 urls.py 文件上。

View .py

    def profile(request, username=None):
if username:
post_owner = get_object_or_404(User, username=username)

else:
post_owner = request.user

args1 = {
'post_owner': post_owner,
}
return render(request, 'profile.html', args1)

网址.py
    urlpatterns = [
path('<str:username>/', views.profile, name='profile'),
path('login', views.login, name='login'),
path('register', views.register, name='register'),
path('logout', views.logout, name='logout'),

]

索引.html
    <a class="nav-link" href="{{ request.user }}">{{ user.username }}</a>

最佳答案

你应该把它链接到:

<a class="nav-link" href="{{ request.user.username }}">{{ user.username }}</a>

但更好的是使用 {% url … } template tag [Django-doc] :
<a class="nav-link" href="{% url 'profile' username=request.user.username %}">{{ user.username }}</a>

您的路径也重叠,这意味着您将永远无法访问 login , registerlogout ,因为第一条路径会以 username='login' 的想法“开火” .

您最好定义不重叠的路径,例如:
urlpatterns = [
path('profile/<str:username>/', views.profile, name='profile'),
path('login/', views.login, name='login'),
path('register/', views.register, name='register'),
path('logout/', views.logout, name='logout'),
]

关于python - 如何链接到 django 上的用户个人资料,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62096334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com