2017-06-05 106 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()