zoukankan      html  css  js  c++  java
  • django使用静态文件二

      这边文章是我在豆瓣网上看到的,由于它把django项目的静态文件和资源文件都处理了,感觉比较好,我试了,蛮好的。下面就是内容,我简单的整理了下:

      在django1.3中,提供了django.contrib.staticfiles这个模块,方便使用静态文件,显示图片,使用css等。在设置时需要注意的是:

    1.MEDIA_ROOT  MEDIA_URL
    2.STATIC_ROOT STATIC_URL
    3.ADMIN_MEDIA_ROOT
    4.STATICFILES_DIRS

      具体步骤为:

      1.在settings.py中添加与修改:

    # static/file operation
    HERE = os.path.dirname(os.path.dirname(__file__))
    
    # Absolute filesystem path to the directory that will hold user-uploaded files.
    # Example: "/home/media/media.lawrence.com/media/"
    #MEDIA_ROOT = ''
    MEDIA_ROOT = os.path.join( HERE , 'media/').replace('\\','/')
    # URL that handles the media served from MEDIA_ROOT. Make sure to use a
    # trailing slash.
    # Examples: "http://media.lawrence.com/media/", "http://example.com/media/"
    #MEDIA_URL = ''
    MEDIA_URL = '/media/'
    
    # Absolute path to the directory static files should be collected to.
    # Don't put anything in this directory yourself; store your static files
    # in apps' "static/" subdirectories and in STATICFILES_DIRS.
    # Example: "/home/media/media.lawrence.com/static/"
    STATIC_ROOT = ''
    STATIC_PATH = os.path.join( HERE , 'static').replace('\\','/')
    
    # URL prefix for static files.
    # Example: "http://media.lawrence.com/static/"
    STATIC_URL = '/static/'
    # add property : ADMIN_MEDIA_ROOT BY slider
    # ADMIN_MEDIA_ROOT = '/static/admin/' 
    # Additional locations of static files
    STATICFILES_DIRS = (
        # Put strings here, like "/home/html/static" or "C:/www/django/static".
        # Always use forward slashes, even on Windows.
        # Don't forget to use absolute paths, not relative paths.
        os.path.join(HERE,'static').replace('\\','/'),
    )

      项目urls.py里的代码:

    from django.conf import settings
    if settings.DEBUG: 
        urlpatterns += patterns('', 
                (r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_PATH, 'show_indexes':True}), 
                ) 

      然后在模板里面这样引用(这里css文件的目录是 : 项目目录/static/forum/csss/base.css):

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

      顺便说一下:

    MEDIA_ROOT 用于存放user上传的东西 
    STATIC_ROOT用于存放网站自己的js,css,图片 
  • 相关阅读:
    友元函数和友元类
    分别用C和C++来实现一个链栈
    static 与单例模式、auto_ptr与单例模式、const 用法小结、mutable修饰符
    四种对象生存期和作用域、static 用法总结
    static 成员变量、static 成员函数、类/对象的大小
    深拷贝与浅拷贝、空类与空数组
    初始化列表(const和引用成员)、拷贝构造函数
    构造函数、析构函数、赋值与初始化、explicit关键字
    类声明、类作用域、前向声明、this指针、嵌套类、PIMPL 技法 等
    引用、数组引用与指针引用、内联函数inline、四种类型转换运算符
  • 原文地址:https://www.cnblogs.com/slider/p/2584615.html
Copyright © 2011-2022 走看看