为什么我在 Django 中看不到图像文件?
Why cannot I see the image file in django?
我尝试加载图像文件,但没有成功。我通过管理员上传了图像文件。感谢您的帮助!
这是我的代码
在urls.py
path('main/archive/<int:video_id>/', views.loadphoto, name='loadphoto'),
在views.py
def loadphoto(request, video_id):
target_img=get_object_or_404(Record, pk=video_id)
context={'target_img':target_img.picture}
在models.py
class Record(models.Model):
record_text = models.CharField(max_length=50)
pub_date = models.DateTimeField('date published')
picture=models.ImageField(blank=True)
def __str__(self):
return self.record_text
在img.html
<img src="target_img">
<a href="{%url 'main'%}">Main</a>
ImageField
派生自 FileField
。为了在您的模板中显示图像,您应该提供其 url,请参阅 https://docs.djangoproject.com/en/2.2/ref/models/fields/#django.db.models.fields.files.FieldFile.url
源属性应该改为填充如下:
<img src="target_img.url">
首先您需要将您的媒体目录加入您的应用程序
这是您可以做到的方法:
首先你需要在你的Setting.py
中添加这个
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASEDIR,'your folder directory')
#for example app/media or something
然后你需要创建媒体Url方法如下:
然后你需要添加你的urls.py
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('main/archive/<int:video_id>/', views.loadphoto,name='loadphoto'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
然后您需要将此添加到您的 Html File
<img src='{{ target_img.url }}'>
您可以在此处查看更多详细信息:
https://docs.djangoproject.com/en/2.2/ref/models/fields/#django.db.models.fields.files.FieldFile.url
我尝试加载图像文件,但没有成功。我通过管理员上传了图像文件。感谢您的帮助!
这是我的代码
在urls.py
path('main/archive/<int:video_id>/', views.loadphoto, name='loadphoto'),
在views.py
def loadphoto(request, video_id):
target_img=get_object_or_404(Record, pk=video_id)
context={'target_img':target_img.picture}
在models.py
class Record(models.Model):
record_text = models.CharField(max_length=50)
pub_date = models.DateTimeField('date published')
picture=models.ImageField(blank=True)
def __str__(self):
return self.record_text
在img.html
<img src="target_img">
<a href="{%url 'main'%}">Main</a>
ImageField
派生自 FileField
。为了在您的模板中显示图像,您应该提供其 url,请参阅 https://docs.djangoproject.com/en/2.2/ref/models/fields/#django.db.models.fields.files.FieldFile.url
源属性应该改为填充如下:
<img src="target_img.url">
首先您需要将您的媒体目录加入您的应用程序
这是您可以做到的方法:
首先你需要在你的Setting.py
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASEDIR,'your folder directory')
#for example app/media or something
然后你需要创建媒体Url方法如下:
然后你需要添加你的urls.py
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('main/archive/<int:video_id>/', views.loadphoto,name='loadphoto'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
然后您需要将此添加到您的 Html File
<img src='{{ target_img.url }}'>
您可以在此处查看更多详细信息:
https://docs.djangoproject.com/en/2.2/ref/models/fields/#django.db.models.fields.files.FieldFile.url