首页>>后端>>Python->django怎么导入静态问价(django静态文件)

django怎么导入静态问价(django静态文件)

时间:2023-11-30 本站 点击:0

今天首席CTO笔记来给各位分享关于django怎么导入静态问价的相关内容,其中也会对django静态文件进行详细介绍,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

1、Django中静态文件之各个配置详解2、python——Django项目开发:配置项目/static/路径,调用css、img、js等静态文件3、Django 静态文件与动态文件4、django 1.9 怎么配置静态文件5、django中怎么载入css等静态文件

Django中静态文件之各个配置详解

2. STATIC_ROOT :这个是配置静态文件存放目录,另外一个作用就是运行收集静态文件的命令(关于命令的部分后面会讲)时,最终静态文件收集存放的位置,注意, 这个配置只会在debug=false时生效(生产环境) (至于为什么之后会讲)。

4. STATICFILES_DIRS :在实际项目开发中,如果我们的静态文件存放在一个或多个目录时,可以定义一个列表,用于存储静态文件,django默认配置并没有这个配置,如果需要,请自己定义,当项目下存在一个或多个静态资源的目录时,非常适合这样定义。注意, 这个配置只在debug=true时生效(开发环境)

8. templates :定义HTML模板文件存放目录,如果你用的是pycharm的IDE的话,在创建项目时,可以根据配置自动创建一个templates目录,pycham会自动帮我们配置,如果没有配置,就需要手动创建,当然,你也可以选择自定义该目录

9. collectstatic :在项目部署时,我们还要进行静态文件的收集,如果手动收集静态文件的话,工程量无疑很大,而且部署后,debug肯定要改为 debug=false ,这时如果不进行静态文件的收集的话,django自带的部分,如admin后台就会出现CSS无法加载的问题,因此,项目部署前,这个操作是是必须的。

django的 django.contrib.staticfiles 提供了一个收集静态文件的命令: python manage.py collectstatic ,执行该命令后,会将静态文件收集到配置好的 STATIC_ROOT 中

python——Django项目开发:配置项目/static/路径,调用css、img、js等静态文件

在Django项目开发中,不能像正常web开发一样通过 'imgs/bg.jpg' 访问本地静态文件,需要做一些配置,才能实现静态文件的访问。

一、首先在项目根路径下新建一个static文件夹,然后在static文件夹下可以新建相应的css、imgs、js等文件夹,用于存放css、img、js等静态文件。

二、项目配置

1、打开settings.py,在底部添加:

2、打开urls.py,在 urlpatterns 中添加:(注意,如果你在blog目录下也建立了urls.py,那么就得在blog/urls.py中做修改。别忘了import settings):

(不过我经过实测,不加这一个,也可以完成静态文件的访问)

3、在html模板最上面添加:

然后在需要的地方按照这个格式进行调用,如:

最后重新运行项目,img等本地静态文件就可以被django找到了,这时模板对应的页面就可以显示使用img等文件了。

Django 静态文件与动态文件

编辑 settings:

MEDIA_ROOT 和 MEDIA_URL 代表的是用户上传后的文件保存的地方。可以理解为存放可变文件的文件夹。

这两个参数有什么用处呢?

在 Django 的 FileField 和 ImageField 这样的 Model 类中,有 upload_to 参数可选。当 upload_to 设置相关的地址后,如例子:

文件上传后将自动保存到: os.path.join(MEDIA_ROOT, upload_to) ,在本例中就是: /static/uploads/test_pictures

而 MEDIA_URL ,则代表用户可以通过怎样的 URL 来访问这些上传后的文件资源。

在本例子中,本机地址是: , MEDIA_URL 设置为 /static/uploads/

那么通过: 文件名 就可以访问相关的上传图片或者其他文件。

STATIC_ROOT 和 STATIC_URL 则是网站中,用于网站放置的静态图片、CSS、JS 等文件的保存地址。可以理解为,保存网站运行中不会再变文件的文件夹(即不会删除或者新增)

STATIC_URL ,同 MEDIA_URL 类似;设置 STATIC_URL 为 "/static/" 时候,通过: 文件名 就可以访问相关的静态文件了。

STATIC_ROOT 是一个比较特殊的文件夹。这是 Django 的开发模式和部署模式区别最大的地方。

通常我们在开发模式下,可以在我们所在的 project 下建立相应的 app, 然后每个 app 下都建立相应的 static 文件夹。在开发模式下(Debug=True),Django 将为我们自动查找这些静态文件(每个app)并在网页上显示出来。然而,在部署模式下,Django 认为这些工作交由 web 服务器来运行会更有效率。

因此,在部署时,我们需要运行一下 :

这个命令将会把每个 app 里的 static 目录下的文件 copy 到 STATIC_ROOT 这个文件夹下。

如果在部署模式下,即: (Debug=False) 访问相关网页,如: 文件名 ,将不会访问 Django下各个 App 中的 static 文件夹,而是 STATIC_ROOT 中所指定的文件夹。

为了在部署模式下正确使用,我们还需要在 urls.py 中添加以下:

这相当于告诉 Django 碰到一个 "static" 开头的链接时,该如何处理。

了解完以上之后,我们让图片在前端显示出来。

编写一个 show 视图函数,来传递动态图片:

然后编写 show.html :

django 1.9 怎么配置静态文件

想把以前的一个asp.net网站移植到django上,发现django对静态资源似乎支持的不好,不能直接根据相对路径查找,要做一些配置,找了很多解决方案,整理如下:

1、django对静态资源的配置是跟版本有关的!!!切记!!!1.3以前的和以后的配置不太一样!!!下面仅针对Django1.9;

2、settings.py中的installed apps 要包含'django.contrib.staticfiles';

3、settings.py中的STATIC_URL就是app目录下的静态文件所在文件夹的相对路径,默认为/static/,可以自定义;

4、调用时用如下形式:

{% load static %}

img src="{% static "my_app/myexample.jpg" %}" alt="My image"/

导入js,img等静态文件后报错:

File "D:\Python27\lib\mimetypes.py", line 249, in enum_types

ctype = ctype.encode(default_encoding) # omit in 3.x!

UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 1: ordinal not in range(128)

[27/Dec/2015 15:26:32] "GET /static/assets/img/nextPage_small_grey.jpg HTTP/1.1" 500 59

找到关键报错文件mimetypes.py,百度了一下,找到了解决方案:在Python安装目录下的lib/site-packages中添加一个文件sitecustomize.py,内容为

import sys

sys.setdefaultencoding("cp1251")

我设置的编码格式为utf-8,不知道其他格式是否也可以。重启运行,成功。

django中怎么载入css等静态文件

和正常的HTML一样,不过使用Django父子模板,全站、模块、页面三级CSS文件更好布局一点。

结语:以上就是首席CTO笔记为大家整理的关于django怎么导入静态问价的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于django静态文件、django怎么导入静态问价的相关内容别忘了在本站进行查找喔。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Python/4636.html