我正在使用Django 1.5.4并且我有一个具有以下结构的项目:
django_site
-django_site
-books # the app
-media
-images
-books
-authors
-static
-images
-templates
这是必要的代码:
# settings.py
MEDIA_ROOT = '/root/django_site/books/media/'
MEDIA_URL = '/media/'
# models.py
class Book(models.Model):
image = models.ImageField(upload_to="images/books/")
# urls.py
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^books/$', 'books.views.get_all_books'),
)
我的问题是,在通过管理网站添加图片后,如果我点击上传按钮下方的图片链接,会显示404
页面,抱怨该路径不存在。
请求网址为http://127.0.0.1:8000/media/books/media/images/book/out_of_control_1.JPG
,但实际上我希望结果为/root/django_site/books/media/images/out_of_control_1.JPG
。
我该如何解决?期待您的回复。
答案 0 :(得分:2)
由于您似乎使用了开发服务器,我认为您的问题与此相关:Django MEDIA_URL and MEDIA_ROOT
如the answer中所述,当debug设置为True时,您必须为媒体处理设置特定的URL模式。
您还可以查看有关此问题的the docs。