首页 > 解决方案 > 如何在 django 127.0.0.1:8000/?uid=Mjg&token=5dj-ddf5e0d6cf0d6f03dfc1 中指定此网址

问题描述

我的 django 项目中配置的一些 URL 如下所示:

path('<str:uid>/<str:token>/', views.activate,name="activate")
path('login/', LoginView.as_view(template_name='blog/login.html'), name='login'),
path('logout/', LogoutView.as_view(template_name='blog/logout.html'), name='logout'),
path('signup/', views.signup,name="blog-home"),
path('<str:uid>/<str:token>/', views.activate,name="activate")

尝试加载会127.0.0.1:8000/?uid=Mjg&token=5dj-ddf5e0d6cf0d6f03dfc1显示调试页面。如何为此编写 url 配置?

标签: django

解决方案


因为这些是查询字符串参数。request.GET.get('uid')您可以在视图中和视图中访问它们request.GET.get('token')

我会把网址放在

path('', views.activate, name='activate')

和观点:

def activate(request):
    uid = request.GET.get('uid', None)
    token = request.GET.get('token', None)
    # All the other logic

然后在视图中处理如果我有这些参数等该怎么做。

使用您当前的 URL ( path('<str:uid>/<str:token>/', views.activate,name="activate")),您期望的是:127.0.0.1/Mjg/5dj-ddf5e0d6


推荐阅读