2

我正在使用 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显示一个页面,并抱怨路径不存在。

请求 URL 是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.

我该如何解决?期待您的回复。

4

1 回答 1

2

由于您似乎使用开发服务器,我认为您的问题与此有关:Django MEDIA_URL and MEDIA_ROOT

答案中所述,当调试设置为 True 时,您必须为媒体处理设置特定的 URL 模式。

您还可以查看有关此问题的文档。

于 2013-10-03T20:00:27.013 回答