我可以将图像上传到特定目录,但不能在模板中查看它们(找不到页面(404))

时间:2019-05-30 13:01:04

标签: python django django-templates django-media

我正在尝试在GitHub上找到的Django项目中将上传图像添加到管理表单中。我可以将图像上传到文件夹public List<ProjectCategories> GetProjectCategoriesByParentCategory(int ParentCategoryId) { string file = Server.MapPath("~/App_Data/JsonData/Projects/ProjectCategoriesData.json"); //deserialize JSON from file string JsonFile = System.IO.File.ReadAllText(file); JavaScriptSerializer ser = new JavaScriptSerializer(); var categorylist = ser.Deserialize<List<ProjectCategories>>(JsonFile); var data = categorylist .Where(l => l.ParentCategoryId == ParentCategoryId) .Select(l => new { Value = l.CategoryId, Text = l.CategoryName }); return data; ,但是当我尝试在模板中调用该图像时,只能看到没有图片时出现的图像图标。

settings.py

my_app(catalog)/media/images/image.png

model.py

STATIC_URL = '/static/'

MEDIA_URL = '/media/'

MEDIA_ROOT  = os.path.join(BASE_DIR, 'catalog/media')

book_detail.html

class Book(models.Model):
    image = models.ImageField(blank=True, null = True, upload_to='images')

views.py

img src="{{ book.image.url}}" width="250"

urls.py

class BookDetailView(generic.DetailView):
    model = Book

外观如下(我在图片(from django.urls import path from . import views from django.conf.urls.static import static from django.conf import settings urlpatterns = [ path('', views.index, name='index'), path('book/create/', views.BookCreate.as_view(), name='book_create'), path('books/', views.BookListView.as_view(), name='books'), path('book/<int:pk>', views.BookDetailView.as_view(), name='book-detail'), urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 旁边打印{{book.image}}:

enter image description here

这是我得到的错误:

enter image description here

2 个答案:

答案 0 :(得分:0)

您可能在urlpatterns的末尾添加了']',或者我错了

答案 1 :(得分:0)

好吧,我花了很多时间之后才发现它。 模板中的img src =“ {{book.image.url}}” width =“ 250”行应类似于 img src =“ ../ media / {{book.image.url}}” width =“ 250”。

希望这可以帮助遇到相同问题的人。