因此,我做了一个测试Django项目来修复我在网站上遇到的问题,即图像无法显示,但当我在控制台中看到url时,它是我设置的正确媒体url(底部的图片),我知道问题可能出在我的url模式中,但我似乎找不到它是什么,这是我的代码
url.py
from django.urls import path
from . import views
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path("",views.index,name="index"),
path('callback/', views.callback, name='callback')
] + static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)
对不起,这是我编辑的模型
class transaksi_user(models.Model):
line_name = models.CharField(max_length=100)
img_transaksi = models.ImageField(upload_to='image_transaksi')
read_by_admin = models.BooleanField(default=False)
def __str__(self):
return self.line_name
views.py
def index(request):
user1 = transaksi_user.objects.all()
return render(request,"messanger.html",{"user":user1})
模板
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
{% for users in user%}
<h1>{{users.line_name}}</h1>
<img src="{{users.img_transaksi.url}}">
{% endfor %}
</body>
</html>
设置.py
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR,"staticfiles")
]
STATIC_ROOT = os.path.join(BASE_DIR,"assets")
MEDIA_URL ='/media/'
MEDIA_ROOT = os.path.join(BASE_DIR,'media')
当我在django管理页面中添加新图像时,它会工作,它会找到媒体文件并将其保存在那里,但当我试图通过单击django管理中的url来查看图像时,它会显示如下错误
在我的控制台中,它也是正确的媒体url
在Django中,您不能单击管理门户中的URL来查看文件。这些URL被截断,不代表项目文件夹中的确切文件位置。所以它是唯一的/媒体/图像交换。。。而不是C:/Project folder/Static/media/image\u transaksi(或类似文件)
但是,可以使用以下方式在模板中渲染这些文件:
Django确保这将找到整个路径,并且图像将按预期进行渲染
相关问题 更多 >
编程相关推荐