[英]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.