2017-06-05 169 views
-3

我有模型whiuch有照片附件。Django處理照片上傳

class Forum_message(models.Model): 
    text = models.TextField() 
    photo = models.ImageField(upload_to= 'forum_attachments') 

我有我的形式(我更喜歡純HTML編寫的形式,所以我可以有充分的機會來修改它們)

<form action="/forum_new" method="post" enctype="multipart/form-data"> 
    {% csrf_token %} 
    <input id="img_msg" type="file"> 
    <textarea name="new_msg"></textarea> 
    <input type="submit" value="Submit"/> 
</form> 

什麼我在寫功能 def forum_new(request):在views.py到處理文件上傳並將新的論壇消息保存到數據庫?

+0

您是否嘗試過搜索解決方案?有很多資源討論如何處理Django中的表單提交。 –

回答

-1

views.py,你可以使用什麼建議Django的網站(https://docs.djangoproject.com/en/1.11/topics/http/file-uploads/) 如果畫面沒有那麼大,你可以直接把它處理如下:

def forum_new(request): 
    if request.method == 'POST': 
     form = your_form_here(request.POST, request.FILES) 
     if form.is_valid(): 
      form.save() 
      return redirect('/bar.html/') 
    else: 
     form = your_form_here() 
    return render(request, 'url.html', {'form': form}) 

文件應保存在你的媒體文件的文件夾中forum_attachments

0

我需要的東西是這樣的:

def forum_new(request): 
    msg = Forum_message() 
    msg.user = request.user 
    if 'image' in request.FILES: 
     msg.photo = request.FILES['image'] 

    msg.text = request.GET.get('text') 
    msg.save()