清除无效的图像表单/正确的重定向

时间:2017-01-17 12:47:33

标签: django django-forms django-views

我开发了一个pet-ptoject,有点简单的图像共享服务并遇到了这样的困难。我拥有什么以及想要获得什么。

  1. 由" index'呈现的主页。查看模型表格和3个图像查询。
  2. 用户应该从他的磁盘中选择他的图像进行上传,输入图像标题(可选)并按上传按钮。
  3. 如果图像提交无效(由于限制而导致的非图像格式),我的应用程序应该再次呈现主页,并显示错误消息,空表格以防止浏览器对双重操作提出警告。
  4. 这是来自views.py

    的视图
    def index(request):
    # Main page view
    form = ImageForm(request.POST or None, request.FILES or None)
    images_recent = Image.objects.order_by('-upl_date')[:IMAGE_COUNT]
    images_popular = Image.objects.order_by('-rev_count')[:IMAGE_COUNT]
    images_like = Image.objects.order_by('-like_count')[:IMAGE_COUNT]
    
    if form.is_valid():
        image = form.save(commit=False)
        image.user = request.user
        image.img = request.FILES['img']
        image.desc = request.POST.get('desc')
        image.slug = slug_gen()
        image.save()
        messages.add_message(request, messages.SUCCESS, _('Yee haw! Your amazing image uploaded'))
        return redirect('pyxchange:index')
    
    context = {
        'form': form,
        'images_recent': images_recent,
        'images_popular': images_popular,
        'images_like': images_like
    }
    
    return render(request, 'pyxchange/index.html', context)
    

    我在这里修复/添加了什么来解决问题?感谢。

0 个答案:

没有答案