django怎么引用静态文件(django 文件)

导读:本篇文章首席CTO笔记来给大家介绍有关django怎么引用静态文件的相关内容,希望对大家有所帮助,一起来看看吧。

Django1.8中应该怎么配置js静态资源

1、先在你的app文件中新建一个文件夹static,再分别建立三个子文件夹js,style,images。

2、在settings.py中,加入:

STATIC_URL = \'/static/\'

STATICFILES_DIRS = (

os.path.join(BASE_DIR, \"static\"),

)

3、在html页面头部加入:

{% load staticfiles %}

html

head

title麦子学院/title

/head

body

4、

在html模版页面,可以用如下两种方式调用:

img src=\"{% static \'images/logo.gif\' %}\" alt=\"\"/

img src=\"/static/images/acer.gif\" alt=\"\"/

推荐使用第二种,因为如果图片名称是动态的,可以通过views这么绑定:

img src=\"/static/images/{{name}}.gif\" alt=\"\"/

css的引用同样如此:

link rel=\"stylesheet\" href=\"{% static ‘style/base.css’ %}\" type=\"text/css\"

link rel=\"stylesheet\" href=\"/static/style/base.css\" type=\"text/css\"

js的引用同样如此:

script type=\"text/javascript\" src=\"{% static ‘js/jquery-1.8.3.min.js\' %}\"/

script type=\"text/javascript\" src=\"/static/js/jquery-1.8.3.min.js\"/

如何在django里使用静态文件

推荐用新版本的Django进行开发,可以肯定的是 Django 1.4 以后的版本应该都支持下面的设置

注意:Django 1.4 版本需要在 project/urls.py 底部加上:

from django.contrib.staticfiles.urls import staticfiles_urlpatterns urlpatterns += staticfiles_urlpatterns()

Django 1.5 - Django 1.8 不需要添加上面的代码。

settings.py 静态文件相关示例代码及说明:

# Static files (CSS, JavaScript, Images)

STATIC_URL = \'/static/\' # 当运行 python manage.py collectstatic 的时候# STATIC_ROOT 文件夹 是用来将所有STATICFILES_DIRS中所有文件夹中的文件,以及各app中static中的文件都复制过来# 把这些文件放到一起是为了用apache等部署的时候更方便STATIC_ROOT = os.path.join(BASE_DIR, \'collected_static\') # 其它 存放静态文件的文件夹,可以用来存放项目中公用的静态文件,里面不能包含 STATIC_ROOT# 如果不想用 STATICFILES_DIRS 可以不用,都放在 app 里的 static 中也可以STATICFILES_DIRS = ( os.path.join(BASE_DIR, \"common_static\"), \'/path/to/others/static/\', # 用不到的时候可以不写这一行) # 这个是默认设置,Django 默认会在 STATICFILES_DIRS中的文件夹 和 各app下的static文件夹中找文件# 注意有先后顺序,找到了就不再继续找了STATICFILES_FINDERS = ( \"django.contrib.staticfiles.finders.FileSystemFinder\", \"django.contrib.staticfiles.finders.AppDirectoriesFinder\")

静态文件放在对应的 app 下的 static 文件夹中 或者 STATICFILES_DIRS 中的文件夹中。

当 DEBUG = True 时,Django 就能自动找到放在里面的静态文件。(Django 通过 STATICFILES_FINDERS 中的“查找器”,找到符合的就停下来,寻找的过程 类似于 Python 中使用 import xxx 时,找 xxx 这个包的过程)。

示例项目 dj18static, 应用 app 下面有一个 static 里面有一个 zqxt.png 图片:

dj18static├── blog│ ├── __init__.py│ ├── admin.py│ ├── migrations│ │ └── __init__.py│ ├── models.py│ ├── static # 应用 blog 下的 static, 默认会找这个文件夹│ │ └── 【zqxt.png】│ ├── tests.py│ ││ └── views.py├── common_static # 已经添加到了 STATICFILES_DIRS 的文件夹│ └── js│ └── 【jquery.js】│├── dj18static│ ├── __init__.py│ ├── settings.py│ ├── urls.py│ └── wsgi.py└── manage.py

当 settings.py 中的 DEBUG = True 时,打开开发服务器 python manage.py runserver 直接访问 /static/zqxt.png 就可以找到这个静态文件。

也可以在 settings.py 中指定所有 app 共用的静态文件,比如 jquery.js 等

STATICFILES_DIRS = ( os.path.join(BASE_DIR, \"common_static\"),)

把 jquery.js 放在 common_static/js/ 下,这样就可以 在 /static/js/jquery.js 中访问到它!

django怎么引用静态文件(django 文件)  第1张

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

这个问题,在开发环境下和生产环境下解决的方法不一样: 开发环境下是在urls.py里面加条语句:比如 (r\'^static/(?Ppath.*)$\',\'django.views.static.serve\',{\'document_root\':settings.STATIC_ROOT}), 这样来做静态文件服务 生产环境下,需要把静态文件用collect指令收集起来,部署在专门的前端HTTP服务器比如nginx中,django直观动态请求即可。

django 怎么配置可以获取静态文件

可以用服务器配置,js、css、img转到相应路径。也可以在url.py里加入(r\'^media/(?Ppath.*)$\',\'django.views.static.serve\',{\'document_root\': settings.STATIC_PATH}),可以在settings.py里设置也可以使用绝对路径。意思是/media/?.(js|css|img|others)的静态文件在那个路径下。

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,不知道其他格式是否也可以。重启运行,成功。

结语:以上就是首席CTO笔记为大家介绍的关于django怎么引用静态文件的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。

以上内容为新媒号(sinv.com.cn)为大家提供!新媒号,坚持更新大家所需的互联网后端知识。希望您喜欢!

版权申明:新媒号所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请发送邮件至 k2#88.com(替换@) 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023-09-23
下一篇 2023-09-23

相关推荐

发表回复

登录后才能评论