我正在使用 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
。
我该如何解决这个问题?期待您的回复。
最佳答案
由于您似乎使用开发服务器,我认为您的问题与此相关:Django MEDIA_URL and MEDIA_ROOT
如 the answer 中所述,当 debug 设置为 True 时,您必须为媒体处理设置特定的 URL 模式。
您还可以查看the docs关于这个问题。
关于python - Django 1.5.4 中的 ImageField ——处理图像路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19166837/