例如,我想重定向链接
mydomain.com/my_app/0 -------> 重定向至:mydomain.com/my_app/finance
但它重定向到 mydomain.com/my_app/0/finance
你能帮我解决这个问题吗?
浏览量:
from django.shortcuts import render
from django.http import HttpResponse , HttpResponseNotFound , Http404 , HttpResponseRedirect
articles = {
'finance' : 'finance page',
'sports' : 'sports page'
}
def news_view (request,topic):
return HttpResponse(articles[topic])
def num_page_view(request,num_page):
topics_list = list(articles.keys())
topic = topics_list[num_page]
return HttpResponseRedirect(topic)
网址:
from django.urls import path
from . import views
urlpatterns = [
path('<int:num_page>/',views.num_page_view),
path('<str:topic>/',views.news_view)]
我认为,使用
redirect
函数而不是 HttpResponseRedirect
为此,首先为每个路径命名
from django.urls import path
from . import views
urlpatterns = [
path('<int:num_page>/', views.num_page_view, name='num_page_view'),
path('<str:topic>/', views.news_view, name='news_view'),
]
最后使用
redirect
功能
from django.shortcuts import redirect
def num_page_view(request, num_page):
topics_list = list(articles.keys())
topic = topics_list[num_page]
return redirect('news_view', topic=topic)