Javascript ';图像';属性没有与其关联的文件Django
我希望你能帮我完成Django项目。我可以上传一个媒体cdn文件夹下的图像,在一个基于slug名称的文件夹内。当我试图在我的帖子列表和帖子中显示图像时,就会出现问题。当我转到主页时,它给出了一个错误 这是我的密码 设置.py/my\u站点Javascript ';图像';属性没有与其关联的文件Django,javascript,python,html,django,django-models,Javascript,Python,Html,Django,Django Models,我希望你能帮我完成Django项目。我可以上传一个媒体cdn文件夹下的图像,在一个基于slug名称的文件夹内。当我试图在我的帖子列表和帖子中显示图像时,就会出现问题。当我转到主页时,它给出了一个错误 这是我的密码 设置.py/my\u站点 STATICFILES_DIRS=[ Path(BASE_DIR,'static'), Path(BASE_DIR,'media') ] STATIC_URL = '/static/' MEDIA_URL ='/media/' ST
STATICFILES_DIRS=[
Path(BASE_DIR,'static'),
Path(BASE_DIR,'media')
]
STATIC_URL = '/static/'
MEDIA_URL ='/media/'
STATIC_ROOT=Path(BASE_DIR,'static_cdn')
MEDIA_ROOT=Path(BASE_DIR,'media_cdn')
models.py/blog
def upload_location(instance, filename):
file_path = 'blog/{author_id}/{title}-{filename}'.format(
author_id=str(instance.author.id),title=str(instance.title), filename=filename)
return file_path
class BlogPost(models.Model):
title = models.CharField(max_length=50, null=False, blank=False)
body = models.TextField(max_length=5000, null=False, blank=False)
image = models.ImageField(upload_to=upload_location, null=True, blank=True)
date_published = models.DateTimeField(auto_now_add=True, verbose_name="date published")
date_updated = models.DateTimeField(auto_now=True, verbose_name="date updated")
author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
slug = models.SlugField(blank=True, unique=True)
def __str__(self):
return self.title
@receiver(post_delete, sender=BlogPost)
def submission_delete(sender, instance, **kwargs):
instance.image.delete(False)
def pre_save_blog_post_receiver(sender, instance, *args, **kwargs):
if not instance.slug:
instance.slug = slugify(instance.author.username + "-" + instance.title)
pre_save.connect(pre_save_blog_post_receiver, sender=BlogPost)
blog_post_snip.html
{% if blog_post %}
<a href="{% url 'blog:detail' post.slug %}">
<img class="card-img-top" src="{{blog_post.image.url}}">
</a>
...
{% else %}
<div class="container">
<div class="row">
<div class="card m-auto">
<div class="card-body mt-2 mb-2">
<h2 class="card-title">No results</h2>
<p class="card-text">There were no results matching the search: "{{query}}"</p>
</div>
</div>
</div>
</div>
{% endif %}
每当我将blog_post.image.url更改为blog_post.img.url时,它都会显示页面,但是,当我单击没有图像的帖子时,它会出现另一个错误。如果你能告诉我如何解决这个问题,我将不胜感激
from django.conf.urls import include, url
from django.contrib import admin
from django.conf.urls.static import static
from django.conf import settings
urlpatterns = [
path('', home_screen_view, name="home"),
path('account/', account_view, name="account"),
path('admin/', admin.site.urls),
path('blog/', include('blog.urls', 'blog')),
...
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)