Django models 在Django中上载用户图像

Django models 在Django中上载用户图像,django-models,file-upload,Django Models,File Upload,我在试着让它工作时遇到了一些麻烦。我想创建一个用户,能够上传他们的个人资料图片使用Django。我以为我把一切都设置好了,但它给了我一个错误,说图片找不到。它确实从文件上传中获取了图片,但我认为它没有正确地将其保存在数据库中。下面是相关代码 settings.py: STATIC_URL = '/static/' MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media') URL.py: from django.ur

我在试着让它工作时遇到了一些麻烦。我想创建一个用户,能够上传他们的个人资料图片使用Django。我以为我把一切都设置好了,但它给了我一个错误,说图片找不到。它确实从文件上传中获取了图片,但我认为它没有正确地将其保存在数据库中。下面是相关代码

settings.py:

STATIC_URL = '/static/'
MEDIA_URL = '/media/'
MEDIA_ROOT =  os.path.join(BASE_DIR, 'media') 
URL.py:

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

if settings.DEBUG:
    urlpatterns = [
        path('', views.index),
        path('feed', views.feed),
        path('registar', views.registar),
        path('login', views.login),
        path('profile', views.profile),
        path('profile/<int:id>', views.profileView),
        path('add', views.add),
        path('add1', views.add1),
        path('follow/<int:id1>/<int:id2>', views.follow),
        path('unfollow/<int:id1>/<int:id2>', views.unfollow),
        path('events', views.events),
        path('event/submit', views.eventSubmit),
        path('like/<int:id>', views.like),
        path('logout', views.logout),
        path('settings', views.settings),
        path('viewAcc', views.viewAcc),
        path('editPass', views.editPass),
        path('passEdit', views.passEdit),
        path('newPass', views.newPass),
        path('updatePass', views.updatePass),
        path('reply', views.reply),
        path('editPro', views.editPro),
        path('updatePro', views.updatePro)
    ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
models.py:

class User(models.Model):
    first_name = models.CharField(max_length=255)
    last_name = models.CharField(max_length=255)
    user_name = models.CharField(max_length=255, default=None)
    email = models.CharField(max_length=255)
    password = models.CharField(max_length=255)
    friend = models.ManyToManyField('self', through='Relationship', symmetrical=False, related_name="related_to")
    proImage = models.ImageField(upload_to='profile_image', blank=True)
    desc = models.CharField(max_length=255)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
    objects = UserManager()
这就是我试图展示它的地方 Profile.html:

 <div id="proMain">
        <div id="header">
            <h2 class="headerH2">{{user.first_name}} {{user.last_name}}</h2>
            <div class="backGround"></div>
            <div class="others">
                {% if user.proImage %}
                <img class="profile" src="{{user.proImage.url}}" alt="ProImageHere">
                {% else %}
                <img class="profile" src="{% static 'img/cowPro.png' %}">
                {% endif %}
                {% if cUser.id == user.id%}
                <form action="editPro" method="post">
                    {% csrf_token %}
                    <button class="editPro" type="submit">Edit Profile</button>
                </form>
                {% endif %}

{{user.first{u name}{{user.last{u name}}
{%if user.proImage%}
{%else%}
{%endif%}
{%if cUser.id==user.id%}
{%csrf_令牌%}
编辑配置文件
{%endif%}

它似乎击中了html中的if语句,因此它可以识别出有一个图像,但它似乎可以找到它并显示它。它显示的是alt。

在我提交要保存的图像文件时,由于某种原因,它没有创建媒体文件夹。我相信这就是问题所在,但我不知道如何解决它。
 <div id="proMain">
        <div id="header">
            <h2 class="headerH2">{{user.first_name}} {{user.last_name}}</h2>
            <div class="backGround"></div>
            <div class="others">
                {% if user.proImage %}
                <img class="profile" src="{{user.proImage.url}}" alt="ProImageHere">
                {% else %}
                <img class="profile" src="{% static 'img/cowPro.png' %}">
                {% endif %}
                {% if cUser.id == user.id%}
                <form action="editPro" method="post">
                    {% csrf_token %}
                    <button class="editPro" type="submit">Edit Profile</button>
                </form>
                {% endif %}