zoukankan      html  css  js  c++  java
  • Django settings.py 的media路径设置

    转载自:http://www.xuebuyuan.com/676599.html

    在一个 models 中使用 FileField 或 ImageField 需要以下步骤:

    1. 在你的 settings 文件中, 定义一个完整路径给MEDIA_ROOT 以便让 Django在此处保存上传文件. (出于性能考虑,这些文件并不保存到数据库.) 定义MEDIA_URL 作为该目录的公共 URL. 要确保该目录对 WEB 服务器用户帐号是可写的.

    2. 在你的 models.py 中添加 FileField 或 ImageField, 并确保定义了upload_to 选项,以告诉 Django 使用MEDIA_ROOT 的哪个子目录保存上传文件.

    3. 你的数据库中要保存的只是文件的路径(相对于 MEDIA_ROOT). 要想得到这个文件的路径可以用.url方法。例如,如果models里有一个取名为"photo"的ImageField,可以在Html模板里通过{{object.photo.url}}得到该图片的路径。

    settings.py 设置

    媒体文件的绝对路径:
    # Absolute path to the directory that holds media.
    # Example: "/home/media/media.lawrence.com/"   
    MEDIA_ROOT = 'D:/Python26/Lib/site-packages/django/bin/newproj/media'

    媒体文件的相对路径:
    # URL that handles the media served from MEDIA_ROOT.
    # Example: "http://media.lawrence.com"
    MEDIA_URL = '/site_media/' 

    设置静态文件路径
    STATIC_PATH = 'D:/Python26/Lib/site-packages/django/bin/newproj/media'


    urls.py 影射路径

    (r'^site_media/(?P<path>.*)$', 'django.views.static.serve',{'document_root': settings.STATIC_PATH}),
    将 MEDIA_URL 的site_media 影射到 settings.STATIC_PATH

    models.py 上传图片字段设置

    photo = models.ImageField('上传图片',upload_to='photos')
    相当于传到 D:/Python26/Lib/site-packages/django/bin/newproj/media/photos 目录下,浏览时通过/site_media/photos/ 访问。

  • 相关阅读:
    iOS7中都Bar的透明问题
    iOS 如何使用自定义字体
    iOS xib中TableView创建的2种模式
    iOS 保存CGRect,CGPoint到NSArray'的方法
    iOS 中通过使用Google API获得Google服务
    转载一篇ios7的新API文章
    移动开发常用的第三方控件下载网页
    iOS 查看系统字体效果的网页
    iOS 基于UIWebView的应用特点
    Cocos2d 中的Sprite大小调整问题
  • 原文地址:https://www.cnblogs.com/haoshine/p/5914811.html
Copyright © 2011-2022 走看看