零基础学Python Web开发在线考试系统-Django框架入门项目第6课-静态文件(真正带你上路玩转实战项目开发)

提示:需要下载代码的朋友可以去上面的开源项目库中拉代码,想参与一起学习的同学可以一起加入项目组中开发

零基础学Python Web开发在线考试系统-Django框架入门项目系列课程(真正带你上路玩转实战项目开发)——目录

提示:大家喜欢的请帮忙一键三连,有问题的朋友可以在评论区留言。

本系列文章的目的:

带你零基础学Python Web开发,并通过真实项目-在线考试系统-来学习如何利用Django框架。
因为知识点比较多,工作量比较大,文章章节就7课时,所以最终实现的功能不多,先实现单选题的功能,
但整个项目下来,会让你真正的上手开发,后期你可以自己按照本系列文章继续添加其他功能。

废话咱就不多说了,下面开始吧,如果中途有问题请在评论区留言或私信联系。

开发环境的安装:

若要验证 Django 是否能被 Python 识别,可以在 shell 中输入 python。 然后在 Python 提示符下,尝试导入 Django:

>>> import django
>>> print(django.get_version())
3.2

当然了,你也可能安装的是其它版本的 Django。

自定义 应用 的界面和风格

首先,在你的 kaoshi目录下创建一个名为 static 的目录。Django 将在该目录下查找静态文件,这种方式和 Diango 在 kaoshi/templates/ 目录下查找 template 的方式类似。

Django 的 STATICFILES_FINDERS 设置包含了一系列的查找器,它们知道去哪里找到 static 文件。AppDirectoriesFinder 是默认查找器中的一个,它会在每个 INSTALLED_APPS 中指定的应用的子文件中寻找名称为 static 的特定文件夹,就像我们在 kaoshi 中刚创建的那个一样。管理后台采用相同的目录结构管理它的静态文件。

在你刚创建的 static 文件夹中创建一个名为 kaoshi的文件夹,再在 kaoshi文件夹中创建一个名为 style.css 的文件。换句话说,你的样式表路径应是 kaoshi/static/kaoshi/style.css。因为 AppDirectoriesFinder 的存在,你可以在 Django 中以 kaoshi/style.css 的形式引用此文件,类似你引用模板路径的方式。

静态文件命名空间

虽然我们 可以 像管理模板文件一样,把 static 文件直接放入 kaoshi/static (而不是创建另一个名为 kaoshi的子文件夹),不过这实际上是一个很蠢的做法。Django 只会使用第一个找到的静态文件。如果你在 其它 应用中有一个相同名字的静态文件,Django 将无法区分它们。我们需要指引 Django 选择正确的静态文件,而最好的方式就是把它们放入各自的 命名空间 。也就是把这些静态文件放入 另一个 与应用名相同的目录中。

将以下代码放入样式表(kaoshi/static/kaoshi/style.css):

li a {
    color: green;
}

下一步,在 kaoshi/templates/kaoshi/index.html 的文件头添加以下内容:

{% load static %}

<link rel="stylesheet" type="text/css" href="{% static 'kaoshi/style.css' %}">

{% static %} 模板标签会生成静态文件的绝对路径。

这就是你开发所需要做的所有事情了。

启动服务器(如果它正在运行中,重新启动一次):

重新载入 http://localhost:8000/kaoshi/ ,你会发现有问题的链接是绿色的 (这是 Django 自己的问题标注方式),这意味着你追加的样式表起作用了。

添加一个背景

接着,我们会创建一个用于存在图像的目录。在 kaoshi/static/kaoshi目录下创建一个名为 images 的子目录。在这个目录中,放一张名为 background.gif 的图片。换言之,在目录 kaoshi/static/kaoshi/images/background.gif 中放一张图片。

随后,在你的样式表(kaoshi/static/kaoshi/style.css)中添加:

body {
    background: white url("images/background.gif") no-repeat;
}

浏览器重载 http://localhost:8000/kaoshi/,你将在屏幕的左上角见到这张背景图。

{% static %} 模板标签在静态文件(例如样式表)中是不可用的,因为它们不是由 Django 生成的。你应该始终使用 相对路径 在你的静态文件之间相互引用,因为这样你可以更改 STATIC_URL (由 static 模板标签使用来生成 URL),而无需修改大量的静态文件。

这些只是 基础 。更多关于设置和框架的资料,参考 静态文件解惑 和 静态文件指南。部署静态文件 介绍了如何在真实服务器上使用静态文件。

当你熟悉静态文件后,阅读 本系列文章第7课时来学习如何自定义 Django 自动生成后台网页的过程。

Original: https://blog.csdn.net/huidaoli/article/details/121610244
Author: huidaoli
Title: 零基础学Python Web开发在线考试系统-Django框架入门项目第6课-静态文件(真正带你上路玩转实战项目开发)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/737164/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 轻量级的架构决策记录机制

    作者:倪新明 ADR是一种性价比非常高的 架构决策文档化实践,团队引入和实践成本很低,却能为团队带来极大收益! 1 团队研发面临的问题 不论是在传统的IT行业,还是互联网行业,研发…

    Python 2023年10月12日
    048
  • 数据预处理时为什么要使用OneHot编码?

    什么是LabelEncoder(整数编码) &#x6574;&#x6570;&#x7F16;&#x7801; 将一列文本数据转化成数值, 即列中的每…

    Python 2023年10月29日
    070
  • 十一、Django REST framework自定义使用RBAC权限

    参考,主要参考第一个链接的,然后根据自己的场景做了些改动drf_admin(权限RBAC)后台管理系统(RBAC权限篇)Django实战【六】—权限管理系统rbac组件实现CRM【…

    Python 2023年8月4日
    077
  • 进程补充

    一、僵尸进程与孤儿进程 僵尸进程 当一个子进程结束运行(一般是调用exit、运行时发生致命错误或收到终止信号所导致)时,子进程的退出状态(返回值)会回报给操作系统,系统则以SIGC…

    Python 2023年6月6日
    054
  • numpy的使用

    一、numpy安装 conda install numpy # &#x6216; pip install numpy 二、常用命令 1、查看numpy的版本 numpy._…

    Python 2023年8月25日
    063
  • 最全Python一行代码片段,可直接使用

    Write less to achieve more. 追求极简是优秀程序员的特质之一,简洁的代码,不仅看起来更专业,可读性更强,而且减少了出错的几率。 本文盘点一些Python中…

    Python 2023年11月3日
    045
  • 安卓APPUI自动化测试:python+uiautomator2+pytest+pytest-html

    *自动化测试框架 自动化测试框架:python+uiautomator2+pytest+pytest-html *自动化的设计模式 设计模式:POM(PageObject Mode…

    Python 2023年9月9日
    053
  • Python数据类型

    Python可以同时为多个变量赋值,如a, b = 1, 2。 值的除法包含两个运算符:/ 返回一个浮点数,// 返回一个整数。 在混合计算时,Python会把整型转换成为浮点数。…

    Python 2023年6月12日
    0102
  • 【Pandas】Pandas基础知识笔记

    1.简介 Pandas是基于numpy写的,让numpy用起来更简单 如果类比列表和字典 numpy就是列表,pandas就是字典 pandas可以给不同的列和行,重新命名 2.学…

    Python 2023年8月17日
    046
  • python小游戏贪吃蛇下载_python实现贪吃蛇小游戏

    关于编写游戏,是博主非常向往的东西(博主喜爱游戏),编写游戏得一步一步的走!今天我简单的编写一下非常经典的游戏贪吃蛇!!!! 效果图: 首先引入pygame模块 pip insta…

    Python 2023年9月23日
    053
  • BIT.2_Linux环境基础开发工具使用

    目录 vim * vim常用知识点 vim添加和删除注释 vim的基本概念 vim的基本操作 vim正常模式命令集 vim末行模式命令集 vim操作总结 vim键盘图 简单vim配…

    Python 2023年9月30日
    056
  • 2、NumPy数组基本用法

    NumPy数组基本用法 * – 1、numpy中的数组: – 2、创建数组(np.ndarray对象): – 3、ndarray常用属性: &#…

    Python 2023年8月29日
    071
  • 艾美捷游离巯基检测试剂盒基本参数和特点说明

    游离硫醇(即蛋白质上的游离半胱氨酸、谷胱甘肽和半胱氨酸残基)的检测和测量是研究许多生物系统中的生物过程和事件的基本任务之一。 艾美捷游离巯基检测试剂盒提供了一种简单、可重复和灵敏的…

    Python 2023年10月8日
    043
  • lambda函数

    简单来说, lambda函数用来定义简单的,能够在一行内表示的函数。 语法格式如下: lambda arg1,arg2,… : experssion 案例: >>&…

    Python 2023年6月11日
    077
  • Numpy系列(八):函数库之5傅里叶变换函数

    Numpy系列目录 文章目录 一、 简介 二、 思维导图 三、 傅里叶变换基础知识 * 1. 傅里叶级数 2. 复数形式傅里叶级数 3. 傅里叶变换 4. 离散傅里叶变换 四、 N…

    Python 2023年8月27日
    0211
  • Python特性

    3.1 Python特性 Python是为可读性设计的,与英语有一些相似之处,并受到数学的影响。比如: Python使用新行来完成命令,而不像通常使用分号或括号的其他编程语言。 P…

    Python 2023年5月24日
    069
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球