如何在模板中正确配置媒体文件编辑和查看

问题描述

我创建了一个小项目,但我一直卡在那里

问题:无法动态获取图像并在模板中显示

i.image.url -> 在 html 图像中的这一行来自文件夹媒体

当我运行服务器时,媒体文件夹没有被创建,图像也没有从图片复制到媒体文件

seetings.py

BASE_DIR = Path(__file__).resolve().parent.parent
DEBUG = True
ALLOWED_HOSTS = []

STATIC_URL = '/static/'
STATICFILES_Dirs = [
   os.path.join(BASE_DIR,'web_components')
]
STATIC_ROOT = os.path.join(BASE_DIR,'static')

MEDIA_URL='/media/pics/'
MEDIA_ROOT = os.path.join(BASE_DIR,'media')

INSTALLED_APPS = [
    'django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','LEARN_FROM_TELUSKO',]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware','django.contrib.sessions.middleware.SessionMiddleware','django.middleware.common.CommonMiddleware','django.middleware.csrf.CsrfViewMiddleware','django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.messages.middleware.MessageMiddleware','django.middleware.clickjacking.XFrameOptionsMiddleware',]

ROOT_URLconf = 'PROJECT.urls'

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates','Dirs': [os.path.join(BASE_DIR,'Template')],'APP_Dirs': True,'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug','django.template.context_processors.request','django.contrib.auth.context_processors.auth','django.contrib.messages.context_processors.messages','django.template.context_processors.media',],},]

urls.py

urlpatterns = [
    path('',include('LEARN_FROM_TELUSKO.urls')),path('admin/',admin.site.urls)
] 

urlpatterns = urlpatterns + static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)

models.py

class courses(models.Model):
    name = models.CharField(max_length=100)
    price = models.IntegerField()
    image = models.ImageField(upload_to='pics',height_field=None,width_field=None,max_length=None)

views.py

def index(request):
    dest = courses.objects.all()
    return render(request,'index.html',{'getdetails':dest})

模板

{% for i in getdetails %}
<div class="col-xl-3 col-lg-3 col-md-6 col-sm-12">
    <div class="product-Box">
        <i>
        <img src="{{ i.image.url }}"/>
        </i>
        <h3>{{ i.name }} </h3>
        <span>{{ i.price }}</span>
    </div>
</div>
{% endfor %}  

项目结构:

Project structure

我将文件上传127.0.0.1/8000/admin

Content uploaded from admin from specific user

这里在数据库中提到了它们

My postgres table

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...