Đối với Django 1.6.6:
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
TEMPLATE_DIRS = os.path.join(BASE_DIR, 'templates')
Cũng tĩnh và phương tiện truyền thông cho debug và sản xuất chế độ:
STATIC_URL = '/static/'
MEDIA_URL = '/media/'
if DEBUG:
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
else:
STATIC_ROOT = %REAL_PATH_TO_PRODUCTION_STATIC_FOLDER%
MEDIA_ROOT = %REAL_PATH_TO_PRODUCTION_MEDIA_FOLDER%
Into urls.py bạn phải thêm:
from django.conf.urls import patterns, include, url
from django.contrib import admin
from django.conf.urls.static import static
from django.conf import settings
from news.views import Index
admin.autodiscover()
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
...
)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
Trong Django 1.8 bạn có thể đặt đường dẫn mẫu, phụ trợ và các thông số khác cho mẫu trong một từ điển (settings.py):
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [
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',
],
},
},
]
Official docs.
Nguồn
2014-08-21 08:57:24
cảm ơn bỏ rất nhiều "/ admin" ở cuối đường dẫn tương đối TEMPLATE_DIRS đã làm điều đó. – shaytac
Đề xuất này đặt thư mục mẫu bên trong thư mục dự án. Để có tổ chức tốt hơn, thay vào đó, bạn nên đặt nó vào trong thư mục của ứng dụng hơn? –
Chúc mừng cho câu trả lời này! –