如何解决我无法在 Django 中查看我的 sqlite 图像上传到服务器 Plesk
我在 Django 中创建了一个站点,当我尝试查看数据库中的页面时,我得到的是 alt 而不是图像。
文件结构
Project
-.venv
-main
-static (again here,only then does it seem to show static files)
*settings.py
*urls.py
*wsgi.py
...
-app
...
*views.py
*models.py
*admin.py
*apps.py
...
-templates
...
*offers.html
...
-static
-static stuff are in here,not important
-staticfiles
-static stuff are in here,not important
-media
-offers
*VSy6kJDNq2pSXsCzb6cvYF.jpg
*db.sqlite3
*passenger_wsgi.py
*passenger_wsgi.pyc
Settings.py
MEDIA_URL= '/media/'
MEDIA_ROOT= os.path.join(BASE_DIR,'media')
STATIC_URL = '/static/'
STATIC_ROOT=os.path.join(BASE_DIR,'staticfiles')
STATICFILES_DIRS = [
BASE_DIR / "static",]
urls.py
urlpatterns = [
path('',homepage),path('servises',servisespage),path('offers',offerpage),path('products',productspage),path('admin/',admin.site.urls),] + static(settings.STATIC_URL,document_root=settings.STATIC_ROOT)
# Adding MEDIA_URL and root does not work either
views.py
def offerpage(request):
ids = Offer.objects.values_list('id',flat=True)
obj_list = []
for id in ids:
obj = Offer.objects.get(id=id)
obj_list.append(obj)
context = {
"objects": obj_list
}
return render(request,"offers.html",context)
offers.html
<main>
{% for obj in objects %}
<div class="offer">
<h1 id="name">{{obj.name|title}} </h1>
<img id="photo" src= '{{ obj.photo.url }}' alt="this is the image" width="500">
<h3 id="price">Τιμη: <span id="price-color">{{obj.price}} €</span></h3>
<h3 id="summary"> {{obj.description}} </h3>
</div>
{% endfor %}
</main>
当我尝试在 Firefox 上检查站点时,在图像源中我得到:
src="/media/offers/VSy6kJDNq2pSXsCzb6cvYF.jpg"
(offers 是我在models.py 的upload_to 参数中使用的文件夹)
感谢大家的帮助!!!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。