使用Django静态设置时,遇到很多问题,经过艰苦的Baidu, stack overflow, Django原档阅读,终于把静态图片给搞出来了。特记录下来。
一个网站中除了正常的html页面之外,还有相应的样式,以及js等其他的文件,我们把除了html网页外的文件称之为静态资源文件,下面我们介绍一下怎么在django中去加载静态资源文件
在一个网页中,不仅仅只有一个html骨架,还需要css样式文件,js执行文件以及一些图片等。因此在DTL中加载静态文件是一个必须要解决的问题。在DTL中,使用static标签来加载静态文件。要使用static标签,首先需要{% load static %}。加载静态文件的步骤如下:
首先,我们配置静态文件,要在setting.py里面加入如下几行代码: settings.py
# 这个设置已经给与静态文件的目录,所以上面的STATIC_URL与我们自己创建的
2 配置整个project下的静态文件,适用于那些和单独app关联不大的文件,比如jquery bootstrap 等等
上一节,我们了解了Django中如何加载html页面、介绍了模板语言DTL、以及静态文件的加载。
Django的配置文件settings.py用于配置整个网站的环境和功能,核心配置必须有项目路径、密钥配置、域名访问权限、App列表、中间件、资源文件、模板配置、数据库的连接方式
今天要介绍的知识点是 Django 中的 Templates,它也是 MVT 结构中的 T,Templates 可以叫它模板。Templates 究竟用来做什么,通过这一节的介绍,希望大家有一个基本的了解。
补充知识:Django项目上线后无法加载xadmin等的静态文件问题(django的settings中几个static设置项的关系)
官网:https://www.djangoproject.com/ 博客:https://www.liujiangblog.com/
补充知识:Django静态文件的获取,以及对static和media目录设置的一些思考
补充知识:Django-项目上线后,静态文件配置失效以及404、500页面的全局配置
本文目的:在centos7.x服务器上利用nginx和uwsgi部署Django应用
现在我们开始创建 python 项目。打开首页的 python 项目管理器,点击 添加项目。填充数据:_ 项目名称:自定义就行 _ 路径:定位到 manage.py 文件所在的路径 _ Python 版本:选择你项目对应的 python 版本 _ 框架:选择 Django _ 启动方式:uswgi _ 启动文件/文件夹:定位到 wsgi.py 所在的路径 _ 端口:自定义就行,设置 1024 端口号之后的 _ 勾选上 是否安装模块依赖 与 开机启动 点击确定,然后等待创建。
# 加载静态文件的两种方法 首先需要确保setting的installed_app中有staticfiles这一项 setting最后面一项中static_url=’/static/’ 这里是静态文件的路径新建的文件夹必须命名为static 和tmplates一样的 然后在html页面中用到 {% load static %} static是静态文件存放目录,默认是static,一般是在setting最后一样static_url中 名字是可以改的,但是不推荐,因为改了名字之后所有的模板中static就失效了
我们使用人家的Django框架,自己写的HTML页面,Django框架咋知道我们放在了哪个文件夹下面。 我们就需要在Django下面的setting.py配置文件里面配置我们HTML页面要放在哪个文件夹下面了
静态文件是 CSS、JavaScript、字体、图像或我们可能用来组成用户界面的任何其他资源。
很多时候我们要用到图片上传功能,如果图片一直用放在别的网站上,通过加载网址的方式来显示的话其实也挺麻烦的,我们通过使用 django-filer 这个模块实现将图片文件直接放在自己的网站上。
(目前个人认为,Django 还是应该使用 Django1.11版本,稳定长期支持到2020年,兼容性也好。)
项目中的CSS、图片、js都是静态文件。一般会将静态文件放到一个单独的目录中,以方便管理。在html页面中调用时,也需要指定静态文件的路径,Django中提供了一种解析的方式配置静态文件路径。静态文件可以放在项目根目录下,也可以放在应用的目录下,由于有些静态文件在项目中是通用的,所以推荐放在项目的根目录下,方便管理。
AgileConfig的UI使用react重写快完成了。上次搞定了基于jwt的登录模式(AntDesign Pro + .NET Core 实现基于JWT的登录认证),但是还有点问题。现在使用react重写后,agileconfig成了个确确实实的前后端分离项目。那么其实部署的话要分2个站点部署,把前端build完的静态内容部署在一个网站,把server端也部署在一个站点。然后修改前端的baseURL让spa的api请求都指向server的网站。 这样做也不是不行,但是这不符合AgileConfig的精神,那就是简单。asp.net core程序本身其实就是一个http服务器,所以完全可以把spa网站使用它来承载。这样只需要部署一个站点就可以同时跑spa跟后端server了。 其实最简单的办法就是把build完的文件全部丢wwwroot文件夹下面。然后访问:
该文介绍了如何利用Python的requests库发起一个HTTP GET请求。首先介绍了HTTP GET请求的基本概念和requests库的基本用法,然后通过实例演示了如何在Python中使用requests库向一个URL发送HTTP GET请求,并解析返回的响应内容。最后,文章总结了requests库的常见用法和注意事项,并给出了一些示例代码。
创建一个项目之后,会自动在项目根目录下生成一个配置文件,即:settings.py
去年年底接到老师任务,要开发一个兰州疫情可视化软件,这里是个小的练手项目,麻雀虽小但是五脏俱全,这里前端采用了React,数据采集用了爬虫,一些框架比如:Selenium和Scrapy,还有就是自然语言处理数据,后端按照老师的推荐采用Eve,但是由于我对于这个框架零基础,因此这里使用了Django,这里我就记录一次完整的Django的学习过程,以及自己的一个开发过程。
进入到目录后,输入创建 Django 项目命令(注意,Django 创建项目后还需要通过命令在当前 Django 下创建对应的 app):
Django version 2.2.6, using settings 'web.settings'
https://docs.djangoproject.com/zh-hans/2.2/intro/tutorial06/
ps:配置静态文件完成后,那么在static文件下的文件都可以通过路径来访问到,eg:127.0.0.1:8000/static/a.txt
在各方的推荐下,领导让我在测试环境部署之前开发的测试数据预报平台。那么问题来了,既然要在服务器上部署,
静态文件在web开发中是肯定经常要用到的,所以要把静态文件弄懂弄清楚,一次搞懂了就不用以后在各种框架中提到静态文件,就要重新学习一次,毕竟静态文件都是相同的特性,没什么大的变化,就用一个模式思想去套框架对应的设置就行了。 同时,将静态文件访问处理从复杂视图逻辑中剥离出来,也是一种解耦,复杂视图只需要知道静态文件的访问地址就可以了,不需要将复杂视图响应中加上静态文件的内容返回给用户,而只需要给用户返回一个静态文件的url即可,用户端再发起一次静态文件请求就可以了,而处理静态文件请求的模式就简单多了,各种web server天生就能处理静态文件和页面。 特别是开发时,使用如django框架开发(脚手架)环境处理静态文件访问和生产环境对静态文件的访问处理是不同的,django开发环境由于不是web server 所以将静态文件的处理也放入了简单视图逻辑中。这也是为什么django项目到开发环境需要做一些部署步骤,具体下面会说怎么操作。
经过前几篇的介绍,我们以及能够建立简单的网站页面,那如果嫌弃网站页面简陋,那我们就必须要为他加上样式来渲染网络页面,在Django中,我们把这些文件统称为"静态文件"。在规模比较大的项目--特别是由好几个应用组成的大项目中,处理不同应用所需要的静态文件的工作就显得有些麻烦了。而django.contrib.staticfiles将各个应用的静态文件统一收集起来,这样一来,在生产环境中,这些文件就会集中在一个便于分发的地方。
在Django中需要自己手动创建静态文件存放的文件夹。 在创建好文件夹后需要在settings文件内进行如下配置:
注册完后,在项目根目录中(即 manage.py 所在的目录)创建 templates 文件夹,使用 pycharm 创建项目会自动帮我们创建
也就是我们创建一个django项目之后,就要首先处理静态文件,让项目可以找到静态文件。具体步骤是
我们在开发项目时,需要一份精致的开发文档,那么使用 docsify 是个不错的选择,docsify 是一个快速生成 Vue 风格文档的工具,它直接加载 Markdown 文件并动态渲染,同时还可以生成封面页。我们只需要写完 Markdown 文档,就可以看到类似下方图片的文档页面了。
自己尝试在本地搭建了 Django 项目后,想部署到自己云服务器上,经常多次尝试和多次踩坑(捂脸),总结如下: 环境:ubuntu14, django2.0, apache2。 1.首先安装需要的库包,在 ubuntu 下执行如下指令,为了能顺利安装建议使用 root 用户登录 Ubuntu 或在 apt-get 前加上 sudo : 安装 Apache2 apt-get update #获取更新列表 apt-get install apache2 #安装 Apache2 apt-g
Django+uwsgi+Nginx的工作模式如下图所示,三个服务各司其职,分别为:
Django是一个Python的基础web框架,它可以让你在很短的时间内创建一个web应用,在本教程中,我们将通过创建一个博客应用来探究django。
nginx可以新建一个配置,放在项目目录,暂时不修改nginx的默认配置,端口号可以换一个,然后在/etc/nginx/conf.d/内新建一个软链接指向该配置文件,这样nginx在读取配置时会将该配置一起读进去。这样,访问端口号8080的请求便会指向我们自己的这个配置。
在Django项目中,对于 js、css、images 等静态文件资源,需要一个公共的存放路径,不然每个应用都新建一个 static 文件夹的话,其实很不方便。 那么该怎么配置呢?
Django常见的后台模版有django-xadmin,Grappelli,Django Suit等,当然也可以自已开发一个。
今天博客的内容为使用 Django 完成第一个 Django 页面,并进行一些简单页面的搭建和转跳。
在Django项目中,对于 js、css、images 等静态文件资源,需要一个公共的存放路径,不然每个应用都新建一个 static 文件夹的话,其实很不方便。那么该怎么配置呢?
前面讲了《环境及项目搭建》《数据模型》,这部分我们终于可以看到些真实的东西了,而不是数据...数据...数据...
前面学习了返回HTML文件,还有个问题就是 HTML 文件 包含了 图片 css js 文件,那么这类文件怎么返回呢?
在Windows系统中,有些必不可少的包可能无法安装,因此如果在你尝试安装有些这样 的包时出现错误消息,也不用担心。重要的是让Heroku在部署中安装这些包,下一节就 将这样做。
前面的文章研究了Django最主要的几个方面:数据库,模板,动态生成页面等。但都是使用python manage.py runserver来运行服务器。这是一个实验性的web服务器,不适用于正常的站点运行。我们需要一个可以稳定而持续的服务器。这个服务器负责监听http端口,将收到的请求交给Django处理,将Django的回复发还给客户端。 这样的持续性服务器可以有很多选择,比如apache, Nginx, lighttpd等。这里将使用最常见的apache服务器。服务器和Django之间通过Python的
整个项目文件,里面有两个文件夹,nginx_docker用于存放前后端静态文件,XZAndroidPlatform是整个django项目文件。
[1].Python的原生版Socket [2].python自带的模块:`wsgiref`的简单使用 [3].Python和Idea的爱恨情,pip装了模块但不能用,或飘红了但能用 [4].随手一说 jinja2 [5].django的简单介绍 [6].django中使用MySQL数据库
领取专属 10元无门槛券
手把手带您无忧上云