此处是Django新手。我正在使用几个应用程序进行项目开发,因此将模板保持在项目级别上。现在,这里的问题是在相应的URL处未检测到某些模板。例如,在相关网址(property_list.html
)上检测到与属性列表相对应的模板(/properties
)就好了,而property_detail.html
和property_new.html
都不与{{1 }}和properties/new
分别是。仅作记录,首页,注册,登录工作就可以了。
无论在这里还是在其他地方,我都曾查找过类似的实例,但似乎没有任何东西指向我想要的方向。那么,有什么用呢?
下面的链接图像中包含模板结构的屏幕截图。同样,该文件夹位于根目录/项目级别。
模板结构
项目设置(模板部分)
properties/[insert property ID]
项目催促
# ...
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# ...
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
# ...
属性提示
from django.contrib import admin
from django.urls import path, include
from .views import HomePageView
urlpatterns = [
path('', HomePageView.as_view(), name='home'),
path('admin/', admin.site.urls),
path('accounts/', include('allauth.urls')),
path('agencies/', include('agencies.urls')),
path('properties/', include('properties.urls')),
]
属性视图
from django.urls import path
from . import views
urlpatterns = [
path('', views.PropertyListView.as_view(), name='property_list'),
path('new/', views.PropertyCreateView.as_view(), name='property_new'),
path('<slug:pk>/', views.PropertyDetailView.as_view(), name='property_detail'),
]
答案 0 :(得分:1)
由于设置了'DIRS': [(os.path.join(BASE_DIR, 'templates'))]
,因此django默认在根目录下的“模板”目录下查找文件名。
在模板目录结构中,添加了另一个名为properties
的目录,其中包括property_list.html
,因此,view
要查找模板,必须指定从{{1}开始的相对路径}目录。
template
享受。
答案 1 :(得分:0)
Django标准是为您拥有的每个应用程序创建一个“模板”文件夹。
然后,此模板文件夹应包含另一个名为应用名称的文件夹。