美文网首页Python 进阶文集
【Django】入门实践指南之模板引擎|第3篇

【Django】入门实践指南之模板引擎|第3篇

作者: 繁华落尽丶lee | 来源:发表于2018-04-25 19:55 被阅读6次

课程:Django入门项目 - 论坛系统
打卡时间:2018.4.25

目录

【Django】入门实践指南之环境搭建|第0篇
【Django】入门实践指南之系统设计|第1篇
【Django】入门实践指南之模型设计|第2篇
【Django】入门实践指南之模板引擎|第3篇
【Django】入门实践指南之测试&静态文件配置|第4篇
【Django】入门实践指南之Admin&URL分发|第5篇
【Django】入门实践指南之模板复用&表单处理|第6篇

前言

上面一篇我们已将创建模型和数据库表,本章我们学习如何创建一个界面,

一、第一个页面

在第一篇文章中,就已经学习创建了视图函数home。输出Hello, world!。 本篇我们将学习如何通过模板引擎创建视图。

1.1 修改路由配置

Django 2.0与之前版本路由配置有差别。

首先在boards创建一个文件urls.py。文件内容如下:

from django.urls import path
from . import views
urlpatterns = [
    path('', views.home, name='home')
]

接着还需要修改myproject/urls.py。修改如下:

from django.contrib import admin
from django.urls import path, include
urlpatterns = [
    path('admin/', admin.site.urls),
    path('boards/', include('boards.urls'))
]

pathincludeDjango 2.0路由配置方式。使用正则表达式时,需要将path替换为re_path

修改好路由配置,可以执行查看一下效果。运行效果和第一篇文章效果相同。

1.2 模板引擎

manage.py所在的目录中创建名为templates的新文件夹,目录结构如下:

myproject/
 |-- myproject/
 |    |-- boards/
 |    |-- myproject/
 |    |-- templates/   <-- 这里
 |    +-- manage.py

templates文件夹中,创建一个名为home.html的文件。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Boards</title>
</head>
<body>
    <h1>Boards</h1>
    {% for board in boards %}
        {{ board.name }} <br>
    {%  endfor %}
</body>
</html>

上面{% for board in boards %}{% endfor %}Django模板语言。意思是for遍历列表对象。home模板文件现在创建好了,此时还不能用。需要配置templates路径。

打开setting.py文件,找到TEMPLATES变量,将内部DIRS设置为:

'DIRS': [os.path.join(BASE_DIR, 'templates')],

该行的作用是找到文件的路径。

可以通过shell命令调试:

>>> from django.conf import settings
>>> settings.BASE_DIR
'/Users/lqq/AnacondaProjects/myproject_1'
>>> import os
>>> os.path.join(settings.BASE_DIR, 'templates')
'/Users/lqq/AnacondaProjects/myproject_1/templates'
>>>

到目前我们已经配置好路径和文件,接下来就开始写内容了。

boards/views.py文件。

from django.shortcuts import render
from .models import Board
def home(request):
    boards = Board.objects.all()
    return render(request, 'home.html', {'boards': boards})

运行服务器,在浏览器输入http://127.0.0.1:8000/boards/。界面显示:

Boards
Django 
Swift 

到这里我们已经学会了,使用模板引擎的所有步骤。关于,界面优化可以使用bootstrap等,设计喜欢的样式。也可以使用一些开源的三方页面。后面我们会学习一些。

二、小结

下一篇会学习如何进行单元测试。

相关文章

网友评论

    本文标题:【Django】入门实践指南之模板引擎|第3篇

    本文链接:https://www.haomeiwen.com/subject/ekyylftx.html