Django框架入门之静态文件
1135 字
6 分钟
Django框架入门之静态文件
- 1纯手撸Web框架
- 2Python框架初识
- 3Django框架初识
- 4Django框架安装
- 5Django框架入门之小白必会三板斧
- 6Django便捷函数shortcuts
- 7Django框架入门之静态文件本文
- 8Django的静态文件
- 9Django框架入门之request对象
- 10Django框架入门之ORM操作
- 11Django框架之生命周期流程图
- 12Django框架之路由层
- 13Django框架之视图层
- 14Django框架之模板层
- 15Django框架之模型层
- 16图书管理系统
- 17Ajax基础操作
- 18Ajax进阶操作
- 19JS确认插件补充
- 20Django框架之序列化组件serializers
- 21Django框架之批量插入数据
- 22Django框架补充之分页器推导
- 23Django框架之Form组件
- 24Django框架Form组件之常用字段及插件
- 25Django框架Form组件之渲染HTML代码
- 26Django框架Form组件之渲染错误信息
- 27Django框架Form组件之钩子函数(Hook)
- 28Django框架Form组件之源码
- 29Django框架Form组件之模型表单ModelForm
- 30Django表单API详解
- 31Django框架之Cookie和Session
- 32Django框架之会话session补充
- 33Django框架之CBV添加装饰器的三种方式
- 34Django框架之中间件引入
- 35Django框架之中间件思想
- 36Django框架之csrf跨站请求
- 37Django框架之auth模块
- 38Django框架之settings源码
- 39Django框架之settings配置
- 40Django框架之settings核心配置项
- 41RBAC权限系统
- 42前端基础之URL编码
【一】静态文件配置说明
【1】模版文件
- 我们将html文件默认都放在templates文件夹下
【2】资源文件
- 我们将网站所使用的静态文件默认都放在static文件夹下
静态文件:前段已经写好,能直接使用的文件 网站写好的JS文件 网站写好的CSS文件 网站用到的图片文件 第三方框架 ...拿来直接就可以使用的文件- 一般情况我们再static文件夹下还会对文件进行划分
- js文件夹
- css文件夹
- img文件夹
- plugins文件夹
- 在浏览器中输入url能够看到对应的资源
- 是因为后端提前开设了相关的接口
- 如果访问不到资源,说明后端没有开设相关资源的端口
【二】静态文件配置
- Django静态文件配置官网:https://docs.djangoproject.com/en/3.2/howto/static-files/
【1】配置文件增加配置
(1)后端
- settings.py 配置文件中增加如下配置
STATIC_URL = '/static/' # 类似于访问静态文件的令牌
# 静态文件配置# 默认查找位置是当前APP的目录下# 这个配置定义了静态文件应用在启用 FileSystemFinder 查找器时将穿越的额外位置STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static')](2)前端
- 在前端页面中增加如下配置,即可使用静态文件模版语法
{% load static %}<img src="{% static 'my_app/example.jpg' %}" alt="My image">【2】配置文件说明
- 如果想要访问static静态文件,就必须以static开头
- 如:/static/plugins/Bootstrap/js/bootstrap.js/bootstrap.min.js
【三】静态文件配置补充
【1】前缀
- 如果你想用一个额外的命名空间来引用其中一个位置的文件,你可以 可选的 提供一个前缀作为 (prefix, path) 的元组
- 例如:
STATICFILES_DIRS = [ # ... ("downloads", "/opt/webfiles/stats"),]- 例如,假设你将 STATIC_URL 设置为 ‘/static/‘,则 collectstatic 管理命令将收集 STATIC_ROOT 的 ‘downloads’ 子目录中的“stats”文件。
- 这将允许你在你的模板中用 ‘/static/downloads/polls_20101022.tar.gz’ 引用本地文件 ‘/opt/webfiles/stats/polls_20101022.tar.gz’,例如:
<a href="{% static 'downloads/polls_20101022.tar.gz' %}">【2】存储引擎
- 默认: ‘django.contrib.staticfiles.storage.StaticFilesStorage’
class StaticFilesStorage(FileSystemStorage): """ Standard file system storage for static files.
The defaults for ``location`` and ``base_url`` are ``STATIC_ROOT`` and ``STATIC_URL``. """ def __init__(self, location=None, base_url=None, *args, **kwargs): if location is None: location = settings.STATIC_ROOT if base_url is None: base_url = settings.STATIC_URL check_settings(base_url) super().__init__(location, base_url, *args, **kwargs) # FileSystemStorage fallbacks to MEDIA_ROOT when location # is empty, so we restore the empty value. if not location: self.base_location = None self.location = None
def path(self, name): if not self.location: raise ImproperlyConfigured("You're using the staticfiles app " "without having set the STATIC_ROOT " "setting to a filesystem path.") return super().path(name)- 使用 collectstatic 管理命令收集静态文件时要使用的文件存储引擎。
- 在此配置中定义的存储后端的即用实例可以在 django.contrib.staticfiles.storage.staticfiles_storage 中找到。
- 默认情况下,将查找存储在 STATICFILES_DIRS 配置中的文件(使用 django.contrib.staticfiles.finders.FileSystemFinder)和每个应用程序的 static 子目录中的文件(使用 django.contrib.staticfiles.finders.AppDirectoriesFinder)。如果存在多个同名文件,将使用第一个找到的文件。
- 有一个查找器是默认禁用的: django.contrib.staticfiles.finders.DefaultStorageFinder。如果添加到你的 STATICFILES_FINDERS 配置中,它将在 DEFAULT_FILE_STORAGE 配置所定义的默认文件存储中查找静态文件。
【三】示例
【1】引言
- 以登录注册功能为例
- 我们之所以可以在浏览器地址栏中输入不同的路由访问到不同的资源
- 是因为我们在后端框架中提前开设了相应的访问接口所以用户才能访问
- 言外之意就是我们没有开设接口 那么肯定访问不到
【2】解决方案
(1)开始登陆页面接口
- 开设接口返回登录界面
(2)登录页面渲染静态文件
- 登录界面需要使用bootstrap并且还需要自己编写css和js
- 这些文件就被称之为静态文件
(3)前端获取用户数据
- 页面需要获取前端用户数据并且传递给后端
- form表单
- action参数<控制数据的提交地址>控制数据的提交地址>
- method参数<控制请求的提交方式>控制请求的提交方式>
- form表单
(4)访问登录页面
- 静态文件全部显示资源不存在
- http://127.0.0.1<8000>8000>/static/bootstrap-3.3.7-dist/css/bootstrap.min.css
- 因为我们并没有开设静态资源访问的接口
(5)开设静态资源接口
- 理论上应该自己去路由层开设接口资源 但是由于静态文件资源使用频率很高
- 只要是一个web项目都肯定需要
- 所以django为了避免开发者繁琐
- 提供了静态资源的配置文件
- 只需要填写固定的配置即可开设资源接口
# 静态文件资源访问接口固定配置STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static')]# html页面路径 /static/mycss.css支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
相关文章智能推荐
1
C 语言发展史
编程语言了解 C 语言从 BCPL、B 语言到现代标准 C 的发展历程、核心特点与应用领域。
2
C 语言开发环境的安装与配置
编程语言在 Windows、Linux 与 macOS 上安装 C 工具链,配置编辑器,并编译运行第一个 C 程序。
3
C 语言初识:程序运行机制与基本结构
编程语言认识 C 程序从源代码到运行的完整流程,以及基础语法和程序的基本结构。
4
C 语言基础:注释、关键字、变量与数据类型
编程语言学习 C 语言的注释、关键字、标识符、常量、变量和基本数据类型等基础知识。
5
C 语言数据类型
编程语言理解 C 语言的数据类型体系,包括基本类型、整数类型、浮点类型和逻辑类型。
随机文章随机推荐














