无法在Django中使用url参数

dw1jzc5e  于 2022-12-14  发布在  Go
关注(0)|答案(1)|浏览(129)

我试图通过Django中的url传递一个参数,但似乎没有任何效果。
这是我的views.py:

from django.shortcuts import render

def show_user_profile(request, user_id):
    assert isinstance(request, HttpRequest)

    return render(request, "app/show_user_profile.html", {'user_id': user_id})

这是我目前的网站urls.py:

urlpatterns = [
    path('', views.home, name='home'),
    path('profile/', views.profile, name='profile'),
    path(r'^show_user_profile/(?P<user_id>\w+)/$', views.show_user_profile, name="show_user_profile"),    
    path('admin/', admin.site.urls),
]

我试过了

  • http://localhost:50572/show_user_profile/aaa
  • http://localhost:50572/show_user_profile/aaa/
  • http://localhost:50572/show_user_profile/aaa//
  • http://localhost:50572/show_user_profile/?user_id=aaa

但我总是得到相同的屏幕说它找不到网址模式。

但我试过了都失败了。
这个也不一样

path('show_user_profile/<int:user_id>/$', views.show_user_profile, name='show_user_profile')

顺便说一句,这个也不管用。

path(r'^show_user_profile/$', views.show_user_profile, name="show_user_profile"),

我看了herehere的答案,我似乎做对了每一件事,我错过了什么?
编辑:
下面是我的显示用户配置文件模板:

{% extends "app/layout.html" %}

{% block content %}

{% if request.session.uid %}

<div id="profile">
   <div>
        <span id="profile_prof_pic_content">
            <img id="prof_pic" src="{{ user_data.prof_pic }}" width="100" height="100" />
        </span>
        <span>
            {{ user_data.first_name }} {{ user_data.last_name }}
        </span>
    </div>
   <div>
       {{ user_data.prof_desc }}
   </div>
</div>
{% else %}
<h2>You are not signed in. <a href="/login/">Log in</a> to access this user profile.</h2>
{% endif %}
{% endblock %}

{% block scripts %}

{% load static %}
<script src="{% static 'app/scripts/jquery.validate.min.js' %}"></script>
tzxcd3kk

tzxcd3kk1#

而不是这个:

path(r'^show_user_profile/(?P<user_id>\w+)/$', views.show_user_profile, name="show_user_profile"),

试试这个:

re_path(r'^show_user_profile/(?P<user_id>\w+)/$', views.show_user_profile, name="show_user_profile"),

并尝试在浏览器上导航
注意:我使用了re_path而不是path。您可以检查here

相关问题