Django中的可复用模板

时间:2023-03-10 05:23:16
Django中的可复用模板

将文件转换成可复用的模板,便可以通过模板的基本布局来设计未来项目。

startproject的模板是一个目录或zip文件,当命令运行时形成Django模板。

默认情况下,所有Python源文件都会被制成模板。

制作过程中会把project_name、project_directory、secret_key和docs_version作为上下文传递。

文件名同样会被制作到这个上下文中。

要把hello.py转换到项目模板中(project_name/project_name.py),示例如下:

project_name/project_name.py

import os
import sys from django.conf import settings DEBUG = os.environ.get('DEBUG', 'on') == 'on' SECRET_KEY = os.environ.get('SECRET_KEY', '{{ secret_key }}') ALLOWED_HOSTS = os.environ.get('ALLOWED_HOSTS', 'localhost').split(',') settings.configure(
DEBUG=DEBUG,
SECRET_KEY=SECRET_KEY,
ALLOWED_HOSTS=ALLOWED_HOSTS,
ROOT_URLCONF=__name__,
MIDDLEWARE_CLASSES=(
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
),
) from django.conf.urls import url
from django.core.wsgi import get_wsgi_application
from django.http import HttpResponse def index(request):
return HttpResponse('Hello World') urlpatterns = (
url(r'^$', index),
) application = get_wsgi_application() if __name__ == '__main__':
from django.core.management import execute_from_command_line execute_from_command_line(sys.argv)

然后在project_name/目录所在的位置运行:

django-admin startproject foo --template=project_name

这条命令会在foo文件夹下创建一个foo.py文件,可以像原先的hello.py文件一样运行。