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

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

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

二、项目配置

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

 STATIC_URL = '/static/'
STATICFILES_DIRS = (
# os.path.join(BASE_DIR, 'static')
os.path.join(os.path.dirname(__file__), '../static/').replace('\\', '/'),
)

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

url( r'^static/(?P<path>.*)$', 'django.views.static.serve',{ 'document_root': settings.STATIC_URL }),

(不过我经过实测,不加这一个,也可以完成静态文件的访问)
3、在html模板最上面添加:

{% load staticfiles %}  这句添加在html文件的最上面

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

<img src="{% static "imgs/bg.jpg" %}"/>

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

------------------------------------------------------------

django static文件的引入方式

 1\. 在django project中创建 static文件夹

 2.settings.py中配置要在 STATIC_URL = '/static/'  下边 

    STATICFILES_DIRS = [
        os.path.join(BASE_DIR, 'static'), 
    ]
    上面这个输入如果报错:Your STATICFILES_DIRS setting is not a tuple or list; "
    那么就改成:STATICFILES_DIRS = [(os.path.join(BASE_DIR,'static'))]

  或
      
    STATIC_ROOT = os.path.join(BASE_DIR, 'static')

  3.前端引入
    
    方法一、   
    
        在页面的较上处写:
    
      {% load staticfiles %}
      在 link script 等src 写 :
      {%static 'xxx.css'%} 
      {%static 'xxx.js'%}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容