我正在尝试在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}}:
这是我得到的错误:
答案 0 :(得分:0)
您可能在urlpatterns的末尾添加了']',或者我错了
答案 1 :(得分:0)
好吧,我花了很多时间之后才发现它。 模板中的img src =“ {{book.image.url}}” width =“ 250”行应类似于 img src =“ ../ media / {{book.image.url}}” width =“ 250”。
希望这可以帮助遇到相同问题的人。