• 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,图片 
  • 相关阅读:
    file_put_contents 和php://input 实现存储数据进图片中
    Oracle PL/SQL游标的学习
    三层的再理解
    取出字符串中任意的顺序匹配
    oracle的正则表达式(regular expression)简单介绍
    oracle动态游标的简单实现方法
    存储过程之游标笔记小结
    char,varchar,nvarchar的区别
    大连惊魂记
    让asp.net默认的上传组件支持进度条反映(转)
  • 原文地址:https://www.cnblogs.com/slider/p/2584615.html
Copyright © 2020-2023  润新知