Python 我可以将图像上传到特定目录,但可以';t在模板中查看它们(未找到页面(404))
我正在尝试将上传图像添加到我在上找到的Django项目的管理表单中。我可以将图像上传到文件夹Python 我可以将图像上传到特定目录,但可以';t在模板中查看它们(未找到页面(404)),python,django,django-templates,django-media,Python,Django,Django Templates,Django Media,我正在尝试将上传图像添加到我在上找到的Django项目的管理表单中。我可以将图像上传到文件夹my_app(catalog)/media/images/image.png,但当我尝试在模板中调用它时,我只能看到没有图片时出现的图像图标 设置.py STATIC_URL = '/static/' MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'catalog/media') model.py class Book(mode
my_app(catalog)/media/images/image.png
,但当我尝试在模板中调用它时,我只能看到没有图片时出现的图像图标
设置.py
STATIC_URL = '/static/'
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'catalog/media')
model.py
class Book(models.Model):
image = models.ImageField(blank=True, null = True, upload_to='images')
book_detail.html
img src="{{ book.image.url}}" width="250"
views.py
class BookDetailView(generic.DetailView):
model = Book
url.py
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)
从django.url导入路径
从…起导入视图
从django.conf.url.static导入静态
从django.conf导入设置
URL模式=[
路径(“”,views.index,name='index'),
路径('book/create/',views.BookCreate.as_view(),name='book_create'),
路径('books/',views.BookListView.as_view(),name='books'),
路径('book/',views.BookDetailView.as_view(),name='book-detail'),
urlpatterns+=静态(settings.MEDIA\u URL,document\u root=settings.MEDIA\u root)
这就是它的样子(我在图片旁边打印{{book.image}}(images/screenshot_4.png
):
这是我得到的错误:
你可能在你的URL模式末尾掉了一个']',或者可能是我弄错了你可能在你的URL模式末尾掉了一个']',或者可能是我弄错了好吧,我花了很多时间才发现。 模板中的img src=“{book.image.url}”width=“250”行应该如下所示 img src=“../media/{{book.image.url}}”width=“250”
希望这对有同样问题的人有所帮助。好的,我花了很多时间才发现。 模板中的img src=“{book.image.url}”width=“250”行应该如下所示 img src=“../media/{{book.image.url}}”width=“250”
希望这能帮助有同样问题的人。请用文本替换文本截图。尝试此=>{{book.image.url}请用文本替换文本截图。尝试此=>{{book.image.url}