Fork me on GitHub

Django - 文件上传


 1 修改project的settings.py,添加

MEDIA_URL = '/media/'    #这个是浏览器访问的地址, 例如:http://127.0.0.1:8000/media/covers/21.png

MEDIA_ROOT = os.path.join(BASE_DIR, 'media') #这个是文件在服务器上保存的根目录,这里为proje根目录下的media目录,里面有covers/21.png,可以通过上面的方式访问该文件

 

2 修改project的urls.py文件,添加

...

from django.conf import settings 
from django.conf.urls.static import static

...
urlpatterns = ...
...

if settings.DEBUG:
    urlpartterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)  #使得浏览器可以通过MEDIA_URL访问MEDIA_ROOT下的文件

 

3 在app的models.py中添加文件类型的字段,可指定上传位置,默认为project根目录

from django.db import models

class Album(models.Model):
    album_logo = models.FileField(upload_to="covers")   #文件会上传到/media/covers/目录

    audio_file = models.FileField(upload_to="songs")    #文件会上传到/media/songs/目录

    ...    

 

4 在模板中使用上传的文件

例如
<img src="{{ album.album_logo.url }}"/>

<a href="{{ album.audio_file.url }}" ...

 

posted @ 2016-04-23 15:22  Roronoa__Zoro  阅读(186)  评论(0编辑  收藏  举报