首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >'poster‘属性没有与之关联的文件

'poster‘属性没有与之关联的文件
EN

Stack Overflow用户
提问于 2020-08-17 11:09:41
回答 2查看 65关注 0票数 0

每次我试图加载我的主页时,我都会得到这个错误。这是我从chrome调试器得到的错误:

代码语言:javascript
复制
The 'poster' attribute has no file associated with it.
  
 1  <!DOCTYPE html>
    2   <html lang="en">
    3   <head>
    4       <meta charset="UTF-8">
    5       <meta name="viewport" content="width=device-width, initial-scale=1.0">
    6       <title>Episode One</title>
    7       {% load static %}
    8       <link rel="stylesheet" type="text/css" href="{% static 'css/main.css' %}">
    9       <link rel="stylesheet" 
    href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" 
    integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" 
    crossorigin="anonymous">
    10  </head>
    11  <body>

During handling of the above exception ('ImageFieldFile' object is not subscriptable), another exception occurred

这是我的models.py:

代码语言:javascript
复制
class Pilot(models.Model):
    title = models.CharField(max_length=200)
    description = models.TextField()
    count = models.IntegerField()
    writer = models.CharField(max_length=200)
    year = models.IntegerField()
    script = models.FileField(blank=True, null=True, upload_to="scripts")
    poster = models.ImageField(blank=True, null=True, upload_to="posters")
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

我的urls.py:

代码语言:javascript
复制
from django.contrib import admin 
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static



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

if settings.DEBUG: 
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

我的静态: STATIC_URL =‘/settings.py/’

代码语言:javascript
复制
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

STATICFILES_DIR = [
        os.path.join(BASE_DIR, 'static')
]

我想不出是什么地方出了问题。谁能告诉我哪里出了问题?!

EN

回答 2

Stack Overflow用户

发布于 2020-08-17 11:30:10

代码语言:javascript
复制
poster = models.ImageField(blank=True, default='default.png', upload_to="posters")

每次jinja循环尝试解析图像时,您都会被显示错误,如果他们发现没有显示任何内容并阻止这种情况,您可以上传所有图像或在您的posters文件夹中设置default.png,您就完成了。

票数 0
EN

Stack Overflow用户

发布于 2020-08-17 12:55:31

在Html代码中,{%load static%}总是放在最上面,你把它放在中间,加载静态文件是错误的。

代码语言:javascript
复制
{% load static %}
<!DOCTYPE html>
    2   <html lang="en">
    3   <head>
    4       <meta charset="UTF-8">
    5       <meta name="viewport" content="width=device-width, initial-scale=1.0">
    6       <title>Episode One</title>
    8       <link rel="stylesheet" type="text/css" href="{% static 'css/main.css' %}">
    9       <link rel="stylesheet" 
    href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" 
    integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" 
    crossorigin="anonymous">
    10  </head>
    11  <body>

在setting.py中试试这个

代码语言:javascript
复制
STATIC_URL = '/static/'
STATIC_ROOT= os.path.join(BASE_DIR, "static", "static_root")

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
]

尝试一下我上面所做的。它会帮到你的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63444053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档