簡體   English   中英

Django 2.0.7 URL app_name的工作方式

[英]Django 2.0.7 how URL app_name works

我正在開發一個使用python 3.4.3和django 2.0.7構建的項目,但我一直堅持使用URLs文件邏輯。 我仍然沒有發現此錯誤:“ ImportError:沒有名為'fields'的模塊。

這是我所擁有的:

urls.py

from django.urls import include, path
from django.contrib import admin
from bridge.core import views as core_views

urlpatterns = [
    path('', core_views.home),
    path('backoffice/fields/', include('fields.urls', namespace='backoffice')),
    path('admin/', admin.site.urls),
]

田/ urls.py

from django.urls import path
from . import views

app_name = 'fields'

urlpatterns = [
    path('', views.list_fields, name='list_fields'),
]

“ app_name”應該填寫什么? “ app_name”如何工作?

根據那里的文件,當我在瀏覽器中提交“ / backoffice / fields /”時,django應該調用“ views.list_fields”,不是嗎?

如果需要其他任何信息來幫助我解決此問題,請告訴我,我會盡快提供。

提前致謝

app_name用於在其他位置引用您的urls 您還將看到引用為namespacing 如果您有兩個具有相同url name不同應用程序,那么它並不總是會選擇正確的應用程序。 因此,您為它們命名空間並按如下方式調用它們:

{% url 'employee:name' %}
{% url 'customer:name' %}

您不僅可以在模板標簽中使用名稱,還可以使用reverse('employee:name')等。

您遇到的問題是它不知道在哪里可以找到您的urls文件。 如果您安裝的應用程序是bridge.fields ,請嘗試使用include(bridge.fields.urls)

為了完全找到您的問題,我將不得不看到您的project文件夾結構,其中包括您的主urls文件所在的fields.urls以及fields.urls所在的fields.urls 請記住, fields.urls實際上意味着位於名為fields的文件夾中的名為urls.py的文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM