Django1.4关于静态文件(css.js等)和模板路径的配置

  

最近在学习新的MVC框架Django,这是一个基于Python语言的Web开发框架。Django框架的好处就是能够以最小的代价构建和维护高质量的Web应用。而说到Web开发,不可避免的要使用到css和javascript文件。而怎样解决在Django框架中将这些静态文件引入,还有怎样在工程中配置模板路径的问题呢。在这里,博主将为大家详细的讲述一下方法。  首先,在你建立的工程的根目录中建立一个static文件夹,用来存放css,js和图片等静态文件。然后进入工程文件夹,打开settings.py文件,进行如下配置:

import os
STATIC_URL='/static/'
STATICFILES_DIRS = (
    //动态的获取static文件的路径
    os.path.join(os.path.dirname(__file__), '../static/').replace('\\','/'),
)



然后打开urls.py文件在url模式中做如下配置:

import settings
urlpatterns = patterns('',
    url( r'^static/(?P<path>.*)$', 'django.views.static.serve',{ 'document_root': settings.STATIC_ROOT }),
    #如果没有建static文件夹,而是直接在根目录下建立的JS,CSS和Images文件夹,就将下面的三行代码注释去掉,删除上方的代码
    #( r'^js/(?P<path>.*)$', 'django.views.static.serve',{ 'document_root': settings.STATIC_ROOT }),
    #( r'^css/(?P<path>.*)$', 'django.views.static.serve', { 'document_root': settings.STATIC_ROOT }),
    #( r'^images/(?P<path>.*)$', 'django.views.static.serve', { 'document_root': settings.STATIC_ROOT }),
)

然后在我们的base模板或者有需求的模板中引入这些静态文件即可。

<link rel ="stylesheet" type = "text/css" href = "/static/css/base.css">

<link rel ="stylesheet" type = "text/css" href = "/static/js/jquery.css">


到这里,django引入静态文件的配置方法就完成了。

其实django中加载静态文件还可以其自带的app :staticfile。

  • staticfiles:这是一个静态资源管理的app,django.contrib.staticfiles。老的版本中,静态资源管理一直是一个问题,部分app发布的时候需要带上静态资源,在部署的时候必须将每个app存在的static静态资源复制到同一个static目录。引入staticfiles之后,执行命令:python manage.py collectstatic 就可以方便的将所用到的app中的静态资源复制到同一目录。
  • staticfiles的主要相关配置与分析
    • STATIC_ROOT:运行上边提到的命令:python manage.py collectstatic 之后静态文件将要复制到的目录,这个目录只有在运行collectstatic时候才会用到,不能想当然的以为这个目录和MEDIA_ROOT的作用是相同的,否则在开发环境的时候可能一直无法找到静态文件。
    • STATIC_URL:设置的static file的起始url,这个只是在template里边引用到,这个参数和MEDIA_URL的含义相同,
    • STATICFILES_DIRS:和TEMPLATE_DIRS的含义差不多,就是除了各个app的static目录以外还需要管理的静态文件设置,比如项目的公共文件差不多。
  • 各个app目录下的静态文件static/django会自动找到,这个点和app下的templates目录下差不多
  • 在urls.py中加入静态文件处理的代码
    from django.contrib.staticfiles.urls import staticfiles_urlpatterns
    # This will work if DEBUG is True
    urlpatterns += staticfiles_urlpatterns()

而让 Django加载模板的方法也是相当的简单,首先也是在工程的根目录下建立templates文件夹,用来存放模板文件。然后再settings.py的文件中找到TEMPLATE_DIRS,加入如下代码:
import os
TEMPLATE_DIRS = (
    os.path.join(os.path.dirname(__file__),'../templates/').replace('\\','/'),  
)


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值