美文网首页Python 进阶文集
【Django】入门实践指南之测试&静态文件配置|第4篇

【Django】入门实践指南之测试&静态文件配置|第4篇

作者: 繁华落尽丶lee | 来源:发表于2018-04-26 20:24 被阅读1次

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

    目录

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

    前言

    上一篇学习了如何使用模板引擎搭建界面。本篇将学习如何对界面进行测试。学习使用Testing tools

    关于Testing tools具体内容请查看官方文档。Testing tools

    一、第一个测试

    上一篇我们创建Home页面,我们接下来测试用例,来测试该URL返回的状态码。在boards/tests.py文件填入一下内容。

    from django.test import TestCase
    from django.urls import reverse, resolve 
    # reverse在urls模块中
    from .views import home
    class HomeTests(TestCase):
        def test_home_view_status_code(self):
            url = reverse('home')
            response = self.client.get(url)
            self.assertEquals(response.status_code, 200)
    

    reverse()方法使用命名URL获取url。它对应的是boards/urls.py文件中path('', views.home, name='home')的值。另外该方法还可以接受参数args或者kwargs,用来接收URL中的参数。PS: argskwargs不可同时使用。

    执行python manage.py test命令。

    会在控制台输出一些信息。

    上面这测试时测试请求地址返回状态码是否是200。接下来我们来看第二个测试。

     def test_home_url_resolves_home_view(self):
            view = resolve('/boards/')
            self.assertEquals(view.func, home)
    

    该方法使用resolve函数。Django使用它来将浏览器发起请求的URLurls.py模块中列出的URL进行匹配。该测试用来确定/boards/返回home视图。

    运行test命令。查看测试结果!

    另外,还可以通过设置verbosity来决定控制台打印的通知和调试信息量;0:无输出;1:正常输出;2:详细输出。

    例如:

    python manage.py test --verbosity=2
    

    以上就是第一个测试,以后的学习中我们还会继续学习如何测试。这只是简单的入门。

    二、静态文件配置

    静态文件是指css, js, 字体,图片等资源。

    Django不负责处理这些文件,提供了一些功能来帮助我们管理静态文件。这些功能可在 INSTALLED_APPS 的 django.contrib.staticfiles 应用程序中找到(译者:Django为了使得开发方便,也可以处理静态文件,而在生产环境下,静态文件一般直接由 Nginx 等反向代理服务器处理,而应用服务器专心负责处理它擅长的业务逻辑)。

    下面以添加bootstrap到项目中为例,学习如何管理静态文件。

    首先在manage.py同级目录下创建static文件夹,并在其中创建一个css文件夹。将下载好的bootstrap.min.css放入该文件夹中。

    接下来我们需要告诉Django去哪里查找静态文件。在setting.py文件中添加一下内容。

    # Static files (CSS, JavaScript, Images)
    # https://docs.djangoproject.com/en/2.0/howto/static-files/
    
    STATIC_URL = '/static/'
    STATICFILES_DIRS = [
        os.path.join(BASE_DIR, 'static'),
    ]
    

    此时已经配置好静态文件的路径了。接下来可以使用bootstrap文件。

    templates/home.html

    {% load static %}<!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Boards</title>
        <link rel="stylesheet" href="{% static 'css/bootstrap.min.css' %}">
    </head>
    <body>
        <div class="container">
            <ol class="breadcrumb my-4">
                <li class="breadcrumb-item active">Boards</li>
            </ol>
            <table class="table">
                <thead class="">
                <tr>
                    <th>Board</th>
                    <th>Posts</th>
                    <th>Topics</th>
                    <th>Last Post</th>
                </tr>
                </thead>
                <tbody>
                    {% for board in boards %}
                        <tr>
                            <td>
                                {{ board.name }}
                                <small class="text-muted d-block">{{ board.desc }}</small>
                            </td>
                            <td class="align-middle">0</td>
                            <td class="align-middle">0</td>
                            <td></td>
                        </tr>
                    {% endfor %}
                </tbody>
            </table>
        </div>
    </body>
    </html>
    

    文件开头使用了Static Files App模板标签{% load static %}

    模板标签{% static %}用于构成资源文件完整URL。此时{% static 'css/bootstrap.min.css' %}将返回static/css/boostrap.min.css

    至此,静态文件应配置好了。

    我们可以运行python manage.py runserver启动服务器,打开浏览器查看页面。

    三、小结

    本篇学习Testing tools基本用法,另外还学习如何添加静态文件,以及如何配置静态文件等。

    相关文章

      网友评论

        本文标题:【Django】入门实践指南之测试&静态文件配置|第4篇

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