Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法获取要上载到django中文件夹的图像_Python_Django - Fatal编程技术网

Python 无法获取要上载到django中文件夹的图像

Python 无法获取要上载到django中文件夹的图像,python,django,Python,Django,我正在制作一个个人培训网站,在上传个人资料图片时遇到问题 我的表单如下所示: <form class="form-horizontal" action="updateProfile" method="post" enctype= "multipart/form-data"> {% csrf_token %} <div class="form-group">

我正在制作一个个人培训网站,在上传个人资料图片时遇到问题

我的表单如下所示:

<form class="form-horizontal" action="updateProfile" method="post" enctype= "multipart/form-data">
    {% csrf_token %}
    <div class="form-group">
      <label class="control-label col-sm-2" for="gym">Main Gym</label>
      <div class="col-sm-10">
        <input type="text" class="form-control" id="gym" placeholder="Enter gym name" name="gym" id="gym">
      </div>
    </div>
    <div class="form-group">
      <label class="control-label col-sm-2" for="last name">Qualifications</label>
      <div class="col-sm-10">          
        <textarea name="qualifications" rows="10" cols="130" name="qualifications" id="qualifications"></textarea>
        
      </div>
     </div>
     <div class="form-group">
        <label class="control-label col-sm-2" for="last name">About Me</label>
        <div class="col-sm-10">          
          <textarea name="aboutme" rows="10" cols="130" id="aboutme"></textarea>
         
        </div>
        <div class="form-group">
            <label class="control-label col-sm-2" for="servicedetails">Service Details</label>
            <div class="col-sm-10">          
              <textarea name="servicedetails" rows="10" cols="130" id="servicedetails"></textarea>
              
            </div>
        <div class="form-group">
            <label for="avatar">Choose a profile picture:</label>
       <div class="form-group">             
<input type="file"
       id="avatar" name="avatar"
       accept="image/png, image/jpeg">
            </div>
      </div> 
      <div class="col-sm-offset-2 col-sm-10">
        <button type="submit" class="btn btn-default">Submit</button>
      </div>
    </div>
  </form>
将此添加到URL.py

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

def updateProfile(request):
        if request.method == 'POST':
            gym = request.POST['gym']
            qualifications = request.POST['qualifications']
            aboutme = request.POST['aboutme']
            servicedetails = request.POST['servicedetails']
            avatar = request.POST['avatar']
            
            trainer = trainerabout(gym=gym, qualifications=qualifications, aboutme=aboutme, servicedetails=servicedetails, profilepic=avatar, userID=request.user.id)
            trainer.save()
   
        return render(request, 'updateProfile.html')
将此添加到settings.py

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

当我在表单中输入内容时,它会将图像的url保存到数据库中。没问题,但图像不会保存到媒体文件夹中。我的印象是它为你创建了一个媒体文件夹,但它没有。然后我创建了一个媒体文件夹,但仍然一无所获。我做错了什么?

您应该使用request.FILES,而不是request.POST来访问上载的文件。请看更多。而且,按照惯例,每个包含单词的型号名称都要大写,比如
TrainerAbout
,而不是
TrainerAbout

看看这篇文章
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')