简体   繁体   English

如何上传图片?

[英]how to upload an image?

please help to fix the script. 请帮助修复脚本。

in django1.6 I try to make the interface to load the image in sqllite. 在django1.6中我尝试使用sqllite加载图像的界面。

views.py: views.py:

from django.http import HttpResponse, HttpResponseRedirect, Http404
from django import template
import datetime
import requests
from django.shortcuts import render_to_response, redirect
from django.core.mail import send_mail
from proj1.forms.forms import ContactForm
from sends.models import Sends, Carousel, MediaForm


def admin_carousel(request):    
    if request.method == "POST":
        form = MediaForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
    else:
        form = MediaForm()
        t = template.loader.get_template('admin_carousel.html')
        c = template.Context({'name': 'Adrian'})
        html = t.render(c)      
        return HttpResponse(html, {'form': form})   

models.py: models.py:

from django.db import models
from django.forms.models import modelform_factory

class Carousel(models.Model):
    media_file = models.FileField(upload_to='kalininCarousel/') 

MediaForm = modelform_factory(Carousel) 

template.html: template.html:

<form action="" method="post" name="carousel_image" enctype="multipart/form-data">
    <input type="file" name="img_car" value="" />

    <input type="submit" name="img_submit" value="Загрузить изображение" />
</form>

the problem is that after submitting the form I get the following error message: 问题是,在提交表单后,我收到以下错误消息:

Django Version: 1.6.2
Exception Type: ValueError
Exception Value:    
The view proj1.views.views.admin_carousel didn't return an HttpResponse object.
Exception Location: C:\Python33\lib\site-packages\django\core\handlers\base.py in get_response, line 132

Your problem is here: 你的问题在这里:

def admin_carousel(request):    
    if request.method == "POST":
        form = MediaForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()

Django views must return a HttpResponse object, even if it's empty. Django视图必须返回一个HttpResponse对象,即使它是空的。 Try something like this: 尝试这样的事情:

def admin_carousel(request):    
    if request.method == "POST":
        form = MediaForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
        return HttpResponse(200)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM