我目前正在做一个Django项目,我遇到了一个问题,当我保存一个窗体时,值被剥离,所以只保存第一个单词。 我很肯定问题出在某个地方请求.发布.获取在saveAuction方法中,但还没有找到解决方法。你知道吗
这是我的视图.py地址:
from django.views import View
from .models import *
from .forms import *
from django.contrib import messages
from django.core.urlresolvers import reverse
class createAuction(View):
def get(self, request):
form = createauction()
return render(request,'auctionForm.html', {'form' : form, "title" :
"Auction", "path" : "add"})
def post(self, request):
form = createauction(request.POST)
if form.is_valid():
cd = form.cleaned_data
auction_t = cd['title']
auction_s = cd['seller']
auction_d = cd['description']
auction_mp = cd['min_price']
auction_dl = cd['deadline']
form = confAuct()
return render(request, 'auctionForm.html', {
"form": form,
"title": "Confirm auction listing",
"path" : "save",
"auction_title" : auction_t,
"auction_seller" : auction_s,
"auction_desc" : auction_d,
"auction_mip" : auction_mp,
"auction_dL" : auction_dl
})
else:
messages.add_message(request, messages.ERROR, "Not valid data")
return render(request,'auctionForm.html', {'form' : form, "title" :
"Auction"})
def saveAuction(request):
option = request.POST.get('option', '')
if option == 'Yes':
a_title = request.POST.get('auction_title')
a_seller = request.POST.get('auction_seller')
a_desc = request.POST.get('auction_desc')
a_mip = request.POST.get('auction_mip')
a_dL = request.POST.get('auction_dL')
auct = Auction(title=a_title, seller=a_seller, description=a_desc,
min_price=a_mip, deadline=a_dL)
auct.save()
messages.add_message(request, messages.INFO, "New auction has been
saved")
return HttpResponseRedirect(reverse("auction-list"))
else:
return HttpResponseRedirect(reverse("home"))
def listAuction(request):
auctions = Auction.objects.all()
return render(request, "auctionlist.html", {"title" : "Auction listing",
"list" : auctions})
这是我的表单.py你知道吗
from django import forms
from django.http import HttpResponse, HttpResponseRedirect
from YAAS.models import Auction
class createauction(forms.Form):
model = Auction
title = forms.CharField(required=True)
seller = forms.CharField(required=True)
description = forms.CharField(widget=forms.Textarea(), required=True)
min_price = forms.IntegerField(required=True)
deadline = forms.IntegerField(min_value=72, error_messages={"min_value":"Hours can not be less than 72!"}, required=True, help_text="How many hours until deadline? (min 72 h)")
class confAuct(forms.Form):
CHOICES = [(x, x) for x in ("Yes", "No")]
option = forms.ChoiceField(choices=CHOICES)
t_title = forms.CharField(widget=forms.HiddenInput())
这是我的型号.py你知道吗
from django.db import models
from django.forms import ModelForm
from django.utils import timezone
# Create your models here.
class Auction(models.Model):
title = models.CharField(max_length=160)
seller = models.CharField(max_length=160)
description = models.CharField(max_length=420)
min_price = models.IntegerField(default=0)
deadline = models.IntegerField(default=72)
def __unicode__(self):
return self.title
目前没有回答
相关问题 更多 >
编程相关推荐