Django 模板(Template)
模板
在 Django 介绍 页面中,我们了解到结果应该是 HTML 格式的,并且应该在模板中创建,所以我们会这样做。
在 members
文件夹中创建一个 templates
文件夹,然后在其中创建一个名为 "myfirst.html" 的 HTML 文件。
文件结构应该是这样的:
myworld manage.py
myworld/
members/
templates/
myfirst.html
myworld/
members/
templates/
myfirst.html
打开 HTML 文件并插入以下内容:
members/templates/myfirst.html:
<!DOCTYPE html>
<html>
<body>
<h2>Hello World!</h2>
<p>Welcome to my first Django project!</p>
</body>
</html>
修改视图
打开 views.py
文件并用以下内容替换索引视图:
members/views.py:
from django.http import HttpResponse
from django.template import loader
def index(request):
template = loader.get_template('myfirst.html')
return HttpResponse(template.render())
修改设置
能够处理比 "Hello World!" 更复杂的事情,我们必须告诉 Django 一个新的应用程序被创建了。
这是在 myworld
文件夹中的 settings.py
文件中完成的。
查看 INSTALLED_APPS[]
列表,像这样添加 members
应用程序:
myworld/settings.py:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'members.apps.MembersConfig'
]
然后运行这个命令:
py manage.py migrate
这将产生这个输出:
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial… OK
Applying auth.0001_initial… OK
Applying admin.0001_initial… OK
Applying admin.0002_logentry_remove_auto_add… OK
Applying admin.0003_logentry_add_action_flag_choices… OK
Applying contenttypes.0002_remove_content_type_name… OK
Applying auth.0002_alter_permission_name_max_length… OK
Applying auth.0003_alter_user_email_max_length… OK
Applying auth.0004_alter_user_username_opts… OK
Applying auth.0005_alter_user_last_login_null… OK
Applying auth.0006_require_contenttypes_0002… OK
Applying auth.0007_alter_validators_add_error_messages… OK
Applying auth.0008_alter_user_username_max_length… OK
Applying auth.0009_alter_user_last_name_max_length… OK
Applying auth.0010_alter_group_name_max_length… OK
Applying auth.0011_update_proxy_permissions… OK
Applying auth.0012_alter_user_first_name_max_length… OK
Applying sessions.0001_initial… OK
(myproject)C:\Users\Your Name\myproject\myworld>
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial… OK
Applying auth.0001_initial… OK
Applying admin.0001_initial… OK
Applying admin.0002_logentry_remove_auto_add… OK
Applying admin.0003_logentry_add_action_flag_choices… OK
Applying contenttypes.0002_remove_content_type_name… OK
Applying auth.0002_alter_permission_name_max_length… OK
Applying auth.0003_alter_user_email_max_length… OK
Applying auth.0004_alter_user_username_opts… OK
Applying auth.0005_alter_user_last_login_null… OK
Applying auth.0006_require_contenttypes_0002… OK
Applying auth.0007_alter_validators_add_error_messages… OK
Applying auth.0008_alter_user_username_max_length… OK
Applying auth.0009_alter_user_last_name_max_length… OK
Applying auth.0010_alter_group_name_max_length… OK
Applying auth.0011_update_proxy_permissions… OK
Applying auth.0012_alter_user_first_name_max_length… OK
Applying sessions.0001_initial… OK
(myproject)C:\Users\Your Name\myproject\myworld>
通过导航到 /myworld
文件夹并执行此命令来启动服务器:
py manage.py runserver
在浏览器窗口中,在地址栏中 127.0.0.1:8000/members/
。
结果应该是这样的: