美文网首页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