Python编程+Django框架web网站开发(5)

一、配置和使用静态资源文件

配置setting.py文件设置资源文件目录

  • 静态资源文件目录
    在应用程序liyblog目录下新建一个static文件夹作为静态资源文件夹,包含图片、css文件夹、js文件夹、其他文件夹
    在这里插入图片描述
  • 在setting.py配置文件配置静态资源文件夹的实际所在位置
    实际所在位置就是文件的路径
STATIC_URL = '/static/'
STATICFILES_DIRS = [str(BASE_DIR)+"/downloadweb/static"]

这个配置的主要目的指向静态文件的物理文件夹
调用的时候,可以直接在前台中调用路径为/static/img/图片文件名称

Template模板调用资源文件的方法

  • 模板中先载入静态资源路径
{% load static %}
  • 然后调用static变量拼接实际的路径
{% static 'img/mountain-3840x2160-sun-river-purple-triangle-4k-15642.jpg' %}

在settings.py配置文件中的STATIC_URL变量的作用其实只是为了给静态资源的方法输出层是起来个别名。

二、forloop在template模板中的使用

掌握for循环中的forloop对象的运用

  • forloop对象的使用
{'parentloop': {}, 'counter0': 3, 'counter': 4, 'revcounter': 1, 'revcounter0': 0, 'first': False, 'last': True}

parentloop代表上一层的循环
counter0代表从0开始数编号
counter代表从1开始数编号
revcounter 倒数编号,直到1为止
revcounter0 倒数编号, 直到-位置
first代表是否为第一篇
last代表的是最后一篇

 {% for list in list1 %}

                {% if forloop.last %}
                    <li style="color: green">{{ forloop.counter }}. {{ list.title|myFilterMGW:"你好啊"}} {{ list.author}} {{ list.date|date:'Y年m月s日 h时i分s秒'}}</li>
                {% else %}
                    <li style="color: aqua">{{ forloop.counter }}. {{ list.title|myFilterMGW:"你好啊"}} {{ list.author}} {{ list.date|date:'Y年m月s日 h时i分s秒'}}</li>
                {% endif %}
             {% empty %}
                <li>暂时还没有文章</li>
            {% endfor%}

在这里插入图片描述

三、template模板中对变量名重定义命名

使用as关键词写法

{ % with 变量名称 as 新变量名称 %}
{{ 新变量名 }}
{% endwith %}

使用赋值式写法

{ % with 新变量名称 = 变量名称 %}
{{ 新变量名 }}
{% endwith %}
注意: 等号两边都要有空格

四、template模板页的定义

理解网页开发中常用的思想以及母版页的编写。

掌握entends 方法使用母版页

常用思想:
提取共有的网页部分,不必重新写。
好处:方便维护,只要改变一处共有页,那么就能改变所有应用这个网页的页面。

定义母版页中需要该改变部分模块的格式:

{% block webcontent %}
{% endblock %}

一般来说每张网页的名称应该是不同的,可以用占位符。
而导航栏应该是相同的部分,应该是不呢个被改变的。
每张网页的主体内部应该是不同的,需要占位符
注意:不同位置的部分,需要的占位符名称不同。

- webbase.html文档

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>
        {% block webtitle %}
        {% endblock %}
    </title>
</head>
<body>
<div class="nav"><a href="/">首页</a>    技术文章    <a href="/aboutme/">关于我</a> </div>

{% block webcontent %}
{% endblock %}

</body>
</html>

- index1.html文档

{% extends 'webbase.html' %}
{% load myfiler %}
{% load static %}

{% block webtitle %}
    首页
{% endblock %}


{% block webcontent %}
     <div id="dev">
 <h1>Dev{{ downloading|default:"尚未配置软件的下载地址" }}</h1>
            <ul>

                            {% for list in list1 %}
                                {% if list.author == "Yeraphael" %}
                                    <li style="color: darkorange">{{ list.title|myFilterMGW:"你好啊"}} {{ list.author}} {{ list.date|date:'Y年m月s日 h时i分s秒'}}</li>
                                {% elif list.author == "Kiven" %}
                                    <li style="color: crimson">{{ list.title|title}} {{ list.author}} {{ list.date|date:'Y年m月s日 h时i分s秒'}}</li>
                                {% elif list.author == "Milan" %}
                                    <li style="color: aquamarine">{{ list.title|lower}} {{ list.author}} {{ list.date|date:'Y年m月s日 h时i分s秒'}}</li>
                                {% else %}
                                    <li style="color: greenyellow">{{ list.title|lower}} {{ list.author}} {{ list.date|date:'Y年m月s日 h时i分s秒'}}</li>
                {% endif %}
             {% empty %}
                <li>暂时还没有文章</li>
            {% endfor%}
            </ul>
{% endblock %}

- aboutme.html文档

{% extends 'webbase.html' %}
 {% block webtitle %}

     关于我
        {% endblock %}

{% block webcontent %}
    你好啊
{% endblock %}

如何调用母版页?

使用extends 关键字,这个函数需要输入母版页的名称

{% extends 'webbase.html' %}

然后就是常规的views 和urls 的配置

def aboutme(request):
#
    return render(request, "aboutme.html")

path('aboutme/',downloadweb.views.aboutme),

五、template模板自定义网页组件的思想

为什么使用组件?
一些已经可以固定的开发的假面或功能。例如:评论界面(评论区)
这些组件是可以通过html+django的后台结合来自定义的。

  • 创建组件。自己建立一个html模板,写界面+后台相关。
    comments.html页面
    在这里插入图片描述
  • 引入组件。 include 关键词 可以理解为方法 将组件名称作为参数
{%  include 'comments.html' %}

使用逻辑符号{% include 组件名称字符串 %}
在这里插入图片描述

  • 44
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: Python是一种面向对象且高级的编程语言,已经成为Web开发,数据科学和机器学习等领域的首选。Django是基于Python的开源Web框架,使Web开发更加容易、快速和可扩展。属于MVT(Model-View-Template)架构,通过它可以快速地开发出一个大型的Web应用程序。MySQL是一种功能强大和广泛应用的关系型数据库管理系统,适用于广泛范围的Web应用程序开发。最近几年, MySQL在极高的性能、与其他应用程序的无缝集成、易于维护等方面成为了Web开发的首选数据库。 结合这些技术,我们可以完成各种Web应用程序的开发,例如电子书。电子书是指以电子文档的形式发行的图书或书籍,具有较高的便携性和使用方式,不需要纸质印刷。以Python为基础,并使用Django框架和MySQL作为后端数据库管理系统,能够实现电子书的在线阅读、购买和下载等。利用Django模板和静态文件,我们可以构建电子书的外观和用户界面。还能够使用Django的内置功能,例如用户身份验证和身份管理,来确保用户安全访问电子书。同时,使用MySQL数据库,可以存储电子书的元数据和用户购买记录,并使用ORM(对象关系映射)模式轻松访问和管理这些数据。 总的来说,使用PythonDjango和MySQL可以简化Web应用程序的开发,特别是在开发诸如电子书等复杂应用程序时,这三种技术可以相互促进,提高开发效率和软件质量。 ### 回答2: 电子书Python Django MySQL开发Web指的是使用Python语言编写的Django框架,通过MySQL数据库实现Web开发的过程。这种开发方式具有高效且易于维护的特点,并且具有强大的扩展性和灵活性。 Python是一种高级编程语言,具有语法简单、易于学习及强大的编程能力等多方面的优势,在Web开发领域具有广泛应用。而Django是一个基于PythonWeb框架,它的开发目的是为了简化Web应用程序的创建过程,提供高效一致的解决方案。 MySQL是一种开源的关系型数据库管理系统,它具有高效性、稳定性、可扩展性等多种优点,适合大型Web开发项目的数据库管理。 在实际的开发中,在Python语言中使用Django框架连同MySQL数据库可以轻松地实现Web应用的创建和管理。由于Django提供的高级开发工具和自动化管理机制,开发人员可以轻松地处理常见的Web开发任务,节省工作时间。 总而言之,电子书Python Django MySQL开发Web是一种高效、灵活、易于维护的Web开发方式。它可以帮助开发人员快速创建高品质的Web应用,同时更好地满足项目需求,进而为用户带来更出色的使用体验。 ### 回答3: 电子书是目前最受欢迎的阅读方式之一,Python是一种广泛使用的编程语言,Django是一个流行的Web框架,MySQL是一种常见的关系型数据库。这些工具的结合可以帮助开发人员快速构建高效的Web应用程序。 使用PythonDjango可以快速搭建一个Web应用程序的框架,然后可以使用MySQL来存储和管理数据。在这个过程中,可以使用Python的各种库和模块来扩展应用程序的功能,包括更高级的图形用户界面、数据可视化和其他功能。 与传统的书籍不同,电子书可以提供更丰富的媒体和互动体验,比如可以包含多媒体内容、链接和动画。PythonDjango可以帮助开发人员构建更具交互性和视觉吸引力的Web应用程序,并且还可以使用MySQL来存储和检索更复杂的数据。 总之,电子书python django mysql开发web是一种非常强大的工具组合,可以帮助开发人员快速构建高效、易于使用和易于管理的Web应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

扬子期

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值