Python学习日志(十一)

今天继续学习Django的web开发内容,在昨天的基础上,几天继续学习模板以及渲染。
在这里我们可以思考的问题是,昨天写的网页存在以下问题:
1.HTML写死在Python代码中,不利于修改。
2.页面上相同部分需要多次写入,可复用性差。
如何解决?
可以用模板和静态共同解决。
首先需要建立模板文件,这个Django不会为你创建,所以需要自己创建,在app文件夹下创建templates文件夹,之后的模板均为html文件,全都保存到这个文件夹下。
在模板中:

  1. 变量: 两个大括号括起来的文字(例如 {{ person_name }} )称为变量(variable)。

  2. 标签: 被括号和百分号包围的文本(例如 {% if ordered_warranty %} )是模板标签。标签(tag)定义较明确,即: 仅通知模板系统完成某些工作的标签。

  3. for循环这个例子中的模板包含⼀个 for 标签({% for item in item_list %})和⼀个 if 标签( {% if ordered_warranty %} )for 标签类似 Python 的 for 语句,可让你循环访问序列⾥的每⼀个项⽬。

  4. if标签: if是用来执行逻辑判断的。 在这⾥,tag 标签检查 ordered_warranty 值是否为 True。 如果是,模板系统将显示 {% if ordered_warranty %} 和 {% else %} 之间的内容;否则将显示{% else %} 和 {% endif %}之间的内容。

  5. filter过滤器:它是⼀种最便捷的转换变量输出格式的方式。
    知道了模板的一些语法结构,那么如何使用模板呢?
    一般来说,模板就仅仅是一个页面的框架,想要获得一个完整的网页,我们还需要利用render函数将模板和数据渲染在一起。
    则,需要在VIEWS.PY文件中导入包:

    from django.shortcuts import render

render 函数有三个主要参数, 按位置分别是:请求对象,模版名,上下文变量

  1. 请求对象就是 views 中的 request

  2. 模版名是我们需要创建的模版文件

  3. 上下文变量就是我们需要填充的数据,⼀般情况下是⼀个字典。
    知道了模板的使用方式,需要继续学习静态文件的处理方式:
    我们需要自己在项目文件目录下创建一个static文件,在其中创立js、css、imgs等需要存放各类型静态文件的文件夹。
    然后,我们需要在settings.py中添加配置:
    STATICFILES_DIRS = [ os.path.join(BASE_DIR, “static”), ]
    在urls.py中添加路由:

    from django.conf import settings
    from django.conf.urls.static import static
    urlpatterns = [ # … the rest of your URLconf goes here … path(…) ]
    urlpatterns += static(settings.STATIC_URL,document_root=settings.STATIC_ROOT)

我们需要在模板中指明文件路径。
为了较高的可复用性,我们可以使用模板嵌套来处理网页。
{% block xxxxx%}{% endblock %}
来表示该处被调用。

发布了21 篇原创文章 · 获赞 1 · 访问量 1569

猜你喜欢

转载自blog.csdn.net/qq_33566628/article/details/88537096