补充知识:Django-项目上线后,静态文件配置失效以及404、500页面的全局配置
补充知识:Django静态文件的获取,以及对static和media目录设置的一些思考
设置DEBUG = False后,访问web页面,发现静态资源不显示,无法加载到静态资源。
今天要介绍的知识点是 Django 中的 Templates,它也是 MVT 结构中的 T,Templates 可以叫它模板。Templates 究竟用来做什么,通过这一节的介绍,希望大家有一个基本的了解。
滚雪球第三轮核心学习的是 Python Web 相关知识点,那不可避免的会涉及到前端技术栈,如果你对 HTML,CSS 完全零基础,学习来可能比较吃力,建议可以先补充一些前端知识,便于后续学习,你也可以先直接进入 Django 学习阶段,问题不大。
今天给自己的django配置了一个comment功能。添加了新给app。但是对于新的app静态css文件始终无法加载。排查步骤,先是查看了settings里面的静态文件配置正常,检查网页静态文件路径配置正常。将config配置文件放入新的静态文件路径下也无法解决。正当一筹莫展之际,检查了自己的iis配置。发现之前的app添加了虚拟文件目录。于是乎将新的app静态文件目录添加进虚拟目录。解决!
前段时间调试一直是在Debug=True先运行的,没有什么问题。今天关闭了Debug后,出现了一个问题。就是静态文件找不到了,「img、css、js」都提示404,无法准确的访问 static 静态文件。
首先,我们看看models.py里的模型,有个upload_to参数,为了和过去一刀两断,楼主决定给upload_to赋值一个新的值叫avatar/,这个参数的意思是把文件上传到MEDIA_ROOT/avatar/下面。
使用Django静态设置时,遇到很多问题,经过艰苦的Baidu, stack overflow, Django原档阅读,终于把静态图片给搞出来了。特记录下来。
补充知识:Django项目上线后无法加载xadmin等的静态文件问题(django的settings中几个static设置项的关系)
一个网站中除了正常的html页面之外,还有相应的样式,以及js等其他的文件,我们把除了html网页外的文件称之为静态资源文件,下面我们介绍一下怎么在django中去加载静态资源文件
在一个网页中,不仅仅只有一个html骨架,还需要css样式文件,js执行文件以及一些图片等。因此在DTL中加载静态文件是一个必须要解决的问题。在DTL中,使用static标签来加载静态文件。要使用static标签,首先需要{% load static %}。加载静态文件的步骤如下:
由于学校网站登录对于移动端来说实在不友好,因而本人决定能做一个爬取自己课表的网站,且对于移动端友好的网站。但是由于本人水平不够,因而本人花了几个礼拜学习了python爬虫和Django框架,做了一个简易的爬取课表的网站。
布署 从uwsgi、nginx、静态文件三个方面处理 服务器介绍 服务器:私有服务器、公有服务器 私有服务器:公司自己购买、自己维护,只布署自己的应用,可供公司内部或外网访问 公有服务器:集成好运营环境,销售空间或主机,供其布署自己的应用 私有服务器成本高,需要专业人员维护,适合大公司使用 公有服务器适合初创公司使用,成本低 常用的公有服务器,如阿里云、青云等,可根据需要,按流量收费或按时间收费 此处的服务器是物理上的一台非常高、线路全、运行稳定的机器 服务器环境配置 在本地的虚拟环境中,项目根目录下,执行
本教程上接教程 5。 我们已经建立一个测试过的网页投票应用,现在我们将添加一张样式表和一张图片。
网站通常需要提供其他文件,如图片,JavaScript或CSS。在Django中,我们将这些文件称为静态文件
静态文件是 CSS、JavaScript、字体、图像或我们可能用来组成用户界面的任何其他资源。
项目中的CSS、图片、js都是静态文件。一般会将静态文件放到一个单独的目录中,以方便管理。在html页面中调用时,也需要指定静态文件的路径,Django中提供了一种解析的方式配置静态文件路径。静态文件可以放在项目根目录下,也可以放在应用的目录下,由于有些静态文件在项目中是通用的,所以推荐放在项目的根目录下,方便管理。
目录[-] 本教程上接Part5 。前面已经建立一个网页投票应用并且测试通过,现在主要讲述如何添加样式表和图片。 除由服务器生成的HTML文件外,网页应用一般还需要提供其它必要的文件——比如图片、JavaScript脚本和CSS样式表。这样才能为用户呈现出一个完整的网站。 在Django中,这些文件统称为“静态文件”。 如果是在小型项目中,这只是个小问题,因为你可以将它们放在网页服务器可以访问到的地方。 但是呢,在大一点的项目中——尤其是由多个应用组成的项目,处理每个应用提供的多个静态文件集合还是比较麻
# 加载静态文件的两种方法 首先需要确保setting的installed_app中有staticfiles这一项 setting最后面一项中static_url=’/static/’ 这里是静态文件的路径新建的文件夹必须命名为static 和tmplates一样的 然后在html页面中用到 {% load static %} static是静态文件存放目录,默认是static,一般是在setting最后一样static_url中 名字是可以改的,但是不推荐,因为改了名字之后所有的模板中static就失效了
URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表;你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。
当模版引擎遇到一个变量,它将计算这个变量,然后用结果替换掉它本身。 变量的命名包括任何字母数字以及下划线 ("_")的组合。 变量名称中不能有空格或标点符号。
在网站开发阶段,对于静态资源文件比如JS,CSS等文件都是未经过压缩合并处理的,这对于访问量巨大的网站来说不仅浪费带宽,而且也会影响网站的访问速度。
由于现在前端使用的三大框架配合webpack可以实现快速打包,为部署到服务端提供了非常大的便利,那么在前端打包后,应该做些什么可以部署到django的后台中呢?
# 这个设置已经给与静态文件的目录,所以上面的STATIC_URL与我们自己创建的
博客的基础功能已经开发的差不多了,虽然还有很多地方可以完善,但我们还是希望早点把博客部署到服务器上,让他人可以通过外网访问。至于有待完善的地方,可以等部署完后一点点地迭代和改进。现在就让我们来把博客部署到服务器上吧!
nginx可以新建一个配置,放在项目目录,暂时不修改nginx的默认配置,端口号可以换一个,然后在/etc/nginx/conf.d/内新建一个软链接指向该配置文件,这样nginx在读取配置时会将该配置一起读进去。这样,访问端口号8080的请求便会指向我们自己的这个配置。
Django的配置文件settings.py用于配置整个网站的环境和功能,核心配置必须有项目路径、密钥配置、域名访问权限、App列表、中间件、资源文件、模板配置、数据库的连接方式
在 settings.py 文件中添加 STATICFILES_DIRS,设置静态文件目录路径。
https://docs.djangoproject.com/zh-hans/2.2/intro/tutorial06/
(目前个人认为,Django 还是应该使用 Django1.11版本,稳定长期支持到2020年,兼容性也好。)
本文实例讲述了Django框架静态文件处理、中间件、上传文件操作。分享给大家供大家参考,具体如下:
在现代Web应用程序开发中,静态文件服务是至关重要的一环。静态文件包括诸如CSS样式表、JavaScript脚本、图像、字体等不经常变动且可以被直接提供给客户端的文件。这些文件对于构建用户友好的Web界面、实现交互式功能以及提供视觉效果至关重要。因此,为Web应用程序提供高效、可靠的静态文件服务是开发人员不可或缺的任务之一。
Django通过django.contrib.staticfiles来管理静态文件。
本节主要讲解的内容是 Nginx 如何和 uWSGI 配合使用,以及如何使用 Nginx 配置 Django 的静态资源,在本节的最后我们还要对项目部署流程做一下全面详细的总结,本节将作为本教程的最后一节,后续会根据读者的反馈再增加相应的 Django 知识介绍,最后希望各位读者阅读完这套《Python Django框架基础教程》能有所收获,这将是作为笔者的我最大的荣幸。
进入到目录后,输入创建 Django 项目命令(注意,Django 创建项目后还需要通过命令在当前 Django 下创建对应的 app):
我们更新一下在上一个教程中编写的投票详细页面的模板 ("polls/detail.html") ,让它包含一个 HTML <form> 元素(即表单)
Django 2.1.7 创建应用模板 Django 2.1.7 配置公共静态文件、公共模板路径 Django 2.1.7 模板语言 - 变量、标签、过滤器、自定义过滤器、模板注释 Django 2.1.7 模板继承 Django 2.1.7 模板 - HTML转义 Django 2.1.7 模板 - CSRF 跨站请求伪造 Django 2.1.7 模板 - 图片验证码的实现 Django 2.1.7 模板 - 动态URL 反向解析
2 配置整个project下的静态文件,适用于那些和单独app关联不大的文件,比如jquery bootstrap 等等
首先,我们配置静态文件,要在setting.py里面加入如下几行代码: settings.py
静态文件在web开发中是肯定经常要用到的,所以要把静态文件弄懂弄清楚,一次搞懂了就不用以后在各种框架中提到静态文件,就要重新学习一次,毕竟静态文件都是相同的特性,没什么大的变化,就用一个模式思想去套框架对应的设置就行了。 同时,将静态文件访问处理从复杂视图逻辑中剥离出来,也是一种解耦,复杂视图只需要知道静态文件的访问地址就可以了,不需要将复杂视图响应中加上静态文件的内容返回给用户,而只需要给用户返回一个静态文件的url即可,用户端再发起一次静态文件请求就可以了,而处理静态文件请求的模式就简单多了,各种web server天生就能处理静态文件和页面。 特别是开发时,使用如django框架开发(脚手架)环境处理静态文件访问和生产环境对静态文件的访问处理是不同的,django开发环境由于不是web server 所以将静态文件的处理也放入了简单视图逻辑中。这也是为什么django项目到开发环境需要做一些部署步骤,具体下面会说怎么操作。
经过前几篇的介绍,我们以及能够建立简单的网站页面,那如果嫌弃网站页面简陋,那我们就必须要为他加上样式来渲染网络页面,在Django中,我们把这些文件统称为"静态文件"。在规模比较大的项目--特别是由好几个应用组成的大项目中,处理不同应用所需要的静态文件的工作就显得有些麻烦了。而django.contrib.staticfiles将各个应用的静态文件统一收集起来,这样一来,在生产环境中,这些文件就会集中在一个便于分发的地方。
查看宝塔面板的python项目管理器中的网站,已经有uWsgi的模块,但是shell里面运行pip3 list没有uwsgi
在 linux 下需要用 python-admin 来开 django 的服务,如果你是 python3 那么命令应为 python3-admin manage.py runserver 可以正常访问页面,没有静态加载的问题
Never let success get to your head, and never let failure get to your heart.
在此之前我们已经编写了 Blog 的首页视图,并且配置了 URL 和模板,让 Django 能够正确地处理 HTTP 请求并返回合适的 HTTP 响应。不过我们仅仅在首页返回了一句话:欢迎访问我的博客。这是个 Hello World 级别的视图函数,我们需要编写真正的首页视图函数,当用户访问我们的博客首页时,他将看到我们发表的博客文章列表,就像 演示项目 里展示的这样。 首页视图函数 上一节我们阐明了 Django 的开发流程。即首先配置 URL,把 URL 和相应的视图函数绑定,一般写在 urls.py
该文介绍了如何利用Python的requests库发起一个HTTP GET请求。首先介绍了HTTP GET请求的基本概念和requests库的基本用法,然后通过实例演示了如何在Python中使用requests库向一个URL发送HTTP GET请求,并解析返回的响应内容。最后,文章总结了requests库的常见用法和注意事项,并给出了一些示例代码。
① 视图、模板和静态文件 —— 模板引擎设置 HTML 特殊标签 Django基础篇-模板标签 {% for ... in ... %} {% endfor %} {% if ... %} {%
5.在虚拟环境中安装第三方库,导入需要的环境(导出命令:pip3 freeze > packages.txt)
领取专属 10元无门槛券
手把手带您无忧上云