亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 Django 中對 URL 進行排序?由于網址放錯位置,我收到“找不到頁面”錯誤?

如何在 Django 中對 URL 進行排序?由于網址放錯位置,我收到“找不到頁面”錯誤?

絕地無雙 2023-10-11 15:47:41
當我想添加項目或轉到project_createURL 時,出現以下錯誤。Page not found (404)Request Method: GETRequest URL:    http://localhost:8000/project/add/Raised by:  projects.views.project_detail_viewURL 表示/project/add/根據視圖它必須打開project_create_view,但錯誤是由詳細視圖引發的projects.views.project_detail_view。這是網址:path('project/<slug:project_slug>/delete/',     project_delete_view, name='project_delete'),path('project/<slug:project_slug>/update/',     project_update_view, name='project_update'),path('project/<slug:project_slug>/',     project_detail_view, name='project_detail'),path('projects/list/', all_projects_view, name='all_projects'),path('project/add/', project_create_view, name='project_create'),path('administration/', administration, name='administration'),path("", home, name='home'),如果我評論這一行,path('project/<slug:project_slug>/',project_detail_view, name='project_detail'),則project_createURL 將轉到右側視圖和右側模板。為什么會發生這種情況?我使用了不同的name,url和view名稱。為什么會發生這種情況?編輯:我添加了兩個視圖@login_requireddef project_create_view(request):    if not request.user.is_superuser:        raise PermissionDenied    if request.method == 'POST':        form = ProjectForm(request.POST, request.FILES)        if form.is_valid():            title = form.instance.title            form.save()            project = get_object_or_404(Project, title=title)            messages.success(request, 'Project created successfully.')            return redirect(project.get_absolute_url())    form = ProjectForm()    return render(request, 'projects/project_create.html', {'form': form})def project_detail_view(request, project_slug):    project = get_object_or_404(Project, slug=project_slug)    session_key = 'project_views{}'.format(project.slug)    if not request.session.get(session_key, False):        Project.objects.filter(id=project.pk).update(            visit_count=F('visit_count') + 1        )        request.session[session_key] = True    context = {        'project': project    }    return render(request, 'projects/project_detail.html', context)
查看完整描述

2 回答

?
拉莫斯之舞

TA貢獻1820條經驗 獲得超10個贊

動態 URL 必須位于列表底部,


urlpatterns = [

? ? ? ? ? ? ? ? ? # Fixed URLs

? ? ? ? ? ? ? ? ? path("", home, name='home'),

? ? ? ? ? ? ? ? ? path('administration/', administration, name='administration'),

? ? ? ? ? ? ? ? ? path('project/add/', project_create_view, name='project_create'),

? ? ? ? ? ? ? ? ? path('projects/list/', all_projects_view, name='all_projects'),

? ??

? ? ? ? ? ? ? ? ? # Dynamic URLs

? ? ? ? ? ? ? ? ? path('project/<slug:project_slug>/',

? ? ? ? ? ? ? ? ? ? ? ?project_detail_view, name='project_detail'),

? ? ? ? ? ? ? ? ? path('project/<slug:project_slug>/delete/',

? ? ? ? ? ? ? ? ? ? ? ?project_delete_view, name='project_delete'),

? ? ? ? ? ? ? ? ? path('project/<slug:project_slug>/update/',

? ? ? ? ? ? ? ? ? ? ? ?project_update_view, name='project_update'),


? ? ? ? ? ? ? ]?

查看完整回答
反對 回復 2023-10-11
?
慕絲7291255

TA貢獻1859條經驗 獲得超6個贊

您可以按應用程序或路徑排序,例如,如果您有多個以 開頭的,project您可以將它們分組到不同的 url 模式列表中。


projecturls =[

    # your project path urls

]


urlpatterns =[

    path('project/', include(projecturls)),

    # ...

]


查看完整回答
反對 回復 2023-10-11
  • 2 回答
  • 0 關注
  • 119 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號