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. Fountains
    优雅降级和渐进增强
    px和em
    src与href
    css 浮动
    CSS权重及样式优先级问题
    css样式初始化
    品字布局设计
    CSS3新特性
    inline-block的简单理解
  • 原文地址:https://www.cnblogs.com/slider/p/2584615.html
Copyright © 2011-2022 走看看