Django项目页面样式如何“传给”客户端浏览器

这篇具有很好参考价值的文章主要介绍了Django项目页面样式如何“传给”客户端浏览器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

django项目在视图函数中借助render函数可以返回HTML页面,但是HTML页面中如果引入了外部CSS文件或者JavaScript文件在浏览器页面无法加载,因此就必须有一种方式能够将HTML文档中引入的外部文件能够在客户端浏览器上加载,这种方式就是配置静态文件。

啥是静态文件

静态文件就是前端已经写好了的能够直接调用或者使用的文件都可以称之为静态文件,比如:

①外部JavaScript文件

②外部CSS文件

③项目需要的图片文件

④第三方的前端框架或者库,比如jQuery,bootstrap

为啥要配置静态文件

在使用django框架进行全栈开发(前端+后端)时前端页面用到的外部文件尽量不要使用cdn上的网址,应该使用本地文件,将本地的外部引用文件传给浏览器客户端。而本地文件如果不配置静态文件是无法传给浏览器客户端的,比如下述报错,因此,配置静态文件就是要实现将HTML文档引用的外部本地文件一同返回给浏览器客户端。

Django项目页面样式如何“传给”客户端浏览器

如何配置静态文件

项目使用的静态文件默认都放在项目文件下的static目录下,通常该目录还会做进一步划分比如:

- static
	- js(自己写的js代码)
	- css(自己写的css代码)
	- img
	其他第三方文件

静态文件的配置需要在项目的配置文件(settings.py)中增加如下代码,静态文件配置完成后,HTML文档如果需要静态文件就会去静态文件配置列表中从上往下依次查找所需的文件,找不到才会报错:

# settings.py中增加下述代码
STATIC_URL = '/static/'   #  相当于访问静态文件的令牌或钥匙,如果想要访问静态文件,就必须以static开头,相当于钥匙,静态文件就是房间
STATICFILES_DIRS = [
    os.path.join(BASE_DIR,'static'),
]  # 静态文件的路径

如果想要在HTML文档中引用静态文件目录中的文件,就必须以/static/开头,比如:

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="/static/test.css">  <!--使用静态文件中的css样式文件-->
</head>

在HTML文档中引入静态文件还有另一种更加方便的方式 - 动态解析令牌,令牌指的就是STATIC_URL的值,其实静态文件的目录名称可以是随意的,并且令牌的值也可以是任意的,但是约定俗称就是static,如果改了令牌名称,按照上述前端HTML引入静态文件的方式就需要更改路径,如果静态文件非常多改起来会是一件非常闹心的事情,而动态令牌解析可以解决这一问题,无论令牌名称怎么改,前端HTML页面中引入静态文件的方式都不变,代码如下:

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--动态令牌解析-->
    {%  load static %}
    <link rel="stylesheet" href="{% static 'test.css' %}">
    
</head>

总结

总结来看在django项目中静态文件的配置如下:

在项目的配置文件中需要增加令牌和静态文件路径的代码:

STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR,'static'),
]

在HTML文档中引入静态文件时推荐使用动态令牌解析的方式:

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--动态令牌解析-->
    {%  load static %}
    <link rel="stylesheet" href="{% static 'test.css' %}">
    <script src="{% static 'test.js' %}"></script>
</head>

 文章来源地址https://www.toymoban.com/news/detail-431031.html

到了这里,关于Django项目页面样式如何“传给”客户端浏览器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 关于大型客户端项目的思考

    a. 启动慢 b. 运行慢 c. 稳定性低 基于以上问题进行一些思考,最终总结出该方案. 当项目过大时,需要加载的程序集也越多,对应程序需要启动的时间也越长,如果在这个时候有一个启动的过渡页,从使用的角度看,能在启动后快速看到程序反应,则在某种程度上加快了程序的启动速度

    2024年02月08日
    浏览(10)
  • 因项目只做socket客户端,不想用workerman或者swoole框架,简单实现ws PHP客户端

    docs/Client.md · master · mirrors / Textalk / websocket-php · GitCode

    2024年02月13日
    浏览(13)
  • C++项目——集群聊天服务器项目(九)客户端异常退出业务

    C++项目——集群聊天服务器项目(九)客户端异常退出业务

    服务器端应检测到客户端是否异常退出,因此本节来实现客户端异常退出,项目流程见后文 (1)在业务模块定义处理客户端异常退出的函数 (2)集群聊天服务器项目(八)提到,哈希表_userConnMap存储用户的id和通信连接,若客户端异常退出,表示该客户端登录用户已经下线,

    2024年04月17日
    浏览(12)
  • RustDesk自建中转服务器如何自己编译 RustDesk客户端,将企业固定IP/域名写进客户端,客户端安装无需配置直接使用(三)

    RustDesk自建中转服务器如何自己编译 RustDesk客户端,将企业固定IP/域名写进客户端,客户端安装无需配置直接使用(三)

    Ubuntu20.04.4 LTS Docker Version: 20.10.12 RustDesk1.20 Git-2.39.0-64-bit visual studio 2022 VSCodeUserSetup-x64-1.74.1 RustDesk自建中转服务器如何自己编译 RustDesk客户端,将企业固定IP/域名写进客户端,客户端安装无需配置直接使 最近有粉丝反映,编译最后会提示key不匹配等问题,拉取普通开源版,别

    2024年02月05日
    浏览(72)
  • Windows如何部署TortoiseSVN客户端

    Windows如何部署TortoiseSVN客户端

    TortoiseSVN是一个开源的版本控制系统,它与Apache Subversion(SVN)集成在一起,提供了一个用户友好的界面,方便用户进行版本控制和团队协作,广泛应用于软件开发和项目管理领域。 TortoiseSVN主要用于管理项目代码的版本控制,可以追踪文件的修改、记录变更历史、解决冲突等

    2024年01月21日
    浏览(16)
  • SQLServer如何获取客户端IP

    SQLServer如何获取客户端IP 很多用户询问如何通过SQLServer获取客户端IP从而定位一些问题,比如链接泄露,其实主要是利用几个相关视图,如下给出一些SQL方便用户排查 当前链接 所有链接 查看更详细的链接参数配置 ------获取

    2024年02月09日
    浏览(10)
  • 【C#项目实战】OPC_DA客户端开发

    大家好,我是雷工。 之前练习过一个OPC客户端的样例,并总结了博文,记录了C#开发OPC客户端的一些知识: C#学习记录——【实例】C#实现OPC Client 最近看到一个不同的思路开发的OPC DA客户端,开发并测试了下,下面将开发过程记录如下。 开发OPC客户端程序,其访问接口方式

    2024年02月03日
    浏览(13)
  • 使用idea如何生成webservice客户端

    使用idea如何生成webservice客户端

    需求阐述 在和外围系统对接的时候,对方只给了wsdl地址,记得之前了解到的webservice,可以用idea生成客户端代码。先记录生成的步骤 我的idea再右键要生成文件目录里面没有webservice选项,只能通过查找功能找到 generate Java Code From WSDL功能。 打开功能,我们需要填充3项内容:

    2024年02月14日
    浏览(10)
  • nginx如何获取真实客户端ip

    nginx作为反向代理服务器,即代理我们的服务端,下面介绍下如何配置nginx获取真实的客户端ip 1、配置nginx.con 2、在java程序中可以通过如下方式获取: 这样就可以打印出真实ip了!即request.getHeader(\\\"X-Real-IP\\\")的值 引用: 查看端口占用及释放所占用的端口_查询谷歌浏览器的端口

    2024年02月11日
    浏览(8)
  • 【JavaScript】如何获取客户端IP地址?

    使用这个库:request-ip 它按照如下顺序获取请求的IP地址: X-Client-IP X-Forwarded-For (Header may return multiple IP addresses in the format: “client IP, proxy 1 IP, proxy 2 IP”, so we take the first one.) CF-Connecting-IP (Cloudflare) Fastly-Client-Ip (Fastly CDN and Firebase hosting header when forwared to a cloud function) True-Clie

    2024年02月05日
    浏览(8)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包