Python 现场未显示的图像

Python 现场未显示的图像,python,django,Python,Django,我无法在我的网站上看到图像显示为已损坏。以下是我尝试过的: 已安装枕头:已在my models.py中导入。 Settings.py具有: MEDIA_ROOT = os.path.join(BASE_DIR, 'media/') MEDIA_URL = '/media/' 图片:当前在我的主项目目录中的媒体文件夹中 app/URL.py具有staticsettings.MEDIA\u URL、document\u root=settings.MEDIA\u root和导入的设置。 模板有{%

我无法在我的网站上看到图像显示为已损坏。以下是我尝试过的:

已安装枕头:已在my models.py中导入。 Settings.py具有:

MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
MEDIA_URL = '/media/'
图片:当前在我的主项目目录中的媒体文件夹中

app/URL.py具有staticsettings.MEDIA\u URL、document\u root=settings.MEDIA\u root和导入的设置。 模板有{%load static%}和{{post.image.url}。 收集静态数据。 进行迁移。 Ran服务器:

settings.py
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static/') 
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'profiles/static/')
]
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
MEDIA_URL = '/media/'

urls.py
from django.urls import path
from . import views
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('post/<id>/', views.post, name='post'),
    ....
    ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

models.py
from django.db import models
from django.conf import settings
from PIL import Image

class Profile(models.Model):
    title = models.CharField(max_length=200, blank=True, null=True)
    bio = models.TextField(max_length=500, blank=True)
    user = models.OneToOneField(settings.AUTH_USER_MODEL, 
on_delete=models.CASCADE, null=True)

    def __str__(self):
        return f'{self.user.username} Profile'

class Post(models.Model):
    title = models.CharField(max_length=200)
    post = models.TextField(max_length=100, blank=True)
    image = models.ImageField(default='default.jpg', 
upload_to='picsinposts')
    profile = models.ForeignKey(Profile, on_delete=models.CASCADE, 
blank=True, null=True)

    def __str__(self):
        return self.title
{%extends base.html%} {%load static%} {%block content%} {{profile.title}} {{profile.bio}

{%if request.user==profile.user%} {%endif%} {post%中的post为%1}


静态url必须位于项目的url.py中。 删除此表单app/urls.py并将其放入项目的urls.py中:

project/url.py

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

这就是你的应用程序URL。静态URL需要添加到主项目URL中。尽管请注意,这仅用于开发。