Reputation: 167
please help to fix the script.
in django1.6 I try to make the interface to load the image in sqllite.
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:
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:
<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
Upvotes: 0
Views: 48
Reputation: 3464
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. 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)
Upvotes: 2