【问题标题】:ImageField in Django 1.5.4 -- dealing with the images' pathsDjango 1.5.4 中的 ImageField——处理图像的路径
【发布时间】:2013-10-10 14:27:57
【问题描述】:

我正在使用 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

我该如何解决这个问题?期待您的回复。

【问题讨论】:

    标签: python django html django-models django-admin


    【解决方案1】:

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

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

    关于这个问题,您也可以查看the docs

    【讨论】:

    • 是的,Django Docs 帮助了我,但第一个链接中最受欢迎的答案。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2012-06-12
    • 2013-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-19
    • 2015-02-22
    • 1970-01-01
    相关资源
    最近更新 更多