Speichern eines Formulares funktioniert nicht
Verfasst: Freitag 7. November 2008, 15:11
Hi,
totaler Neuling !
ich bekomme die POST Daten nicht abgespeichert. Any help ?
Die print habe ich nur zum debuggen drin.
Und wie bekomme ich POST Werte von den check boxen im Formular, wenn sie nicht makiert sind ?
Ausschnitt aus view.py
[/code][/code]
totaler Neuling !
ich bekomme die POST Daten nicht abgespeichert. Any help ?
Die print habe ich nur zum debuggen drin.
Und wie bekomme ich POST Werte von den check boxen im Formular, wenn sie nicht makiert sind ?
Ausschnitt aus view.py
Code: Alles auswählen
[code=py]@login_required
def detail_task(request, task_id):
auth_ok = 1
deta = get_object_or_404(Item, pk = task_id)
if request.POST:
try:
print request.POST["kunde"]
deta.detail.kunde = request.POST["kunde"]
print request.POST["am"]
deta.detail.am = request.POST["am"]
print request.POST["cm"]
deta.detail.cm = request.POST["cm"]
print request.POST["link_gate"]
deta.detail.link_gate = request.POST["link_gate"]
print request.POST["freigabe_erfolgt"]
deta.detail.freigabe_erfolgt = request.POST["freigabe_erfolgt"]
print request.POST["unterlagen_gesichtet"]
deta.detail.unterlagen_gesichtet = request.POST["unterlagen_gesichtet"]
print request.POST["intern_kickoff_termin"]
deta.detail.intern_kickoff_termin = request.POST["intern_kickoff_termin"]
print request.POST["Angebots_dokument"]
deta.detail.Angebots_dokument = request.POST["Angebots_dokument"]
print request.POST["LL_anfragen_definiert"]
deta.detail.LL_anfragen_definiert = request.POST["LL_anfragen_definiert"]
print request.POST["offene_punkte"]
deta.detail.offene_punkte = request.POST["offene_punkte"]
print request.POST["LL_angefragt"]
deta.detail.LL_angefragt = request.POST["LL_angefragt"]
print request.POST["LL_antworten"]
deta.detail.LL_antworten = request.POST["LL_antworten"]
de = deta.detail.save()
print de
except:
request.user.message_set.create(message="Fehler beim schreiben")
else:
try:
de = deta.detail
except:
de = detail(item=deta)
de.save()
return render_to_response('todo/detail_task.html', locals(), context_instance=RequestContext(request))
-----------> model.py
from django.db import models
from django.forms.models import ModelForm
from django import forms
from django.contrib import admin
from django.contrib.auth.models import User,Group
import string, datetime
class List(models.Model):
name = models.CharField(max_length=60)
slug = models.SlugField(max_length=60,editable=False)
group = models.ForeignKey(Group)
def save(self):
if not self.id:
# Replace spaces in slug with hyphens, and lowercase.
self.slug = (self.name).lower().replace(' ','-')
# Regex to remove non-alphanumeric chars, using re (regular experession module)
# If we end up with double hyphens, remove those too.
import re
self.slug = re.sub(r"[^A-Za-z0-9\-]", "", self.slug).replace('--','-')
super(List, self).save()
def __unicode__(self):
return self.name
class Meta:
ordering = ["name"]
verbose_name_plural = "Lists"
# Prevents (at the database level) creation of two lists with the same name in the same group
unique_together = ("group", "slug")
class Item(models.Model):
name = models.CharField(max_length=140)
list = models.ForeignKey(List)
created_date = models.DateField()
due_date = models.DateField(blank=True,null=True,)
target_date = models.DateField(blank=True,null=True,)
completed = models.BooleanField()
completed_date = models.DateField(blank=True,null=True)
created_by = models.ForeignKey(User, related_name='created_by')
assigned_to = models.ForeignKey(User, related_name='assigned_to')
PRIORITY_CHOICES = (
('1', '1'),
('2', '2'),
('3', '3'),
('4', '4'),
('5', '5'),
)
priority = models.PositiveIntegerField(max_length=1, choices=PRIORITY_CHOICES,default=3)
# Model method: Has due date for an instance of this object passed?
def overdue_status(self):
"Returns whether the item's due date has passed or not."
if datetime.date.today() > self.due_date :
return 1
def hot_status(self):
"Returns whether the item's due date has passed or not."
if (datetime.date.today() + datetime.timedelta(days=4)) > self.due_date :
return 1
def __unicode__(self):
return self.name
# Auto-set the item creation date
def save(self):
# Set datetime on initial item save (better than deprecated auto_now_add)
if not self.id:
self.created_date = datetime.datetime.now()
# print self.created_date
else:
# print self.created_date
pass
super(Item, self).save()
class Meta:
ordering = ["priority"]
class detail(models.Model):
item = models.OneToOneField(Item, primary_key=True)
kunde = models.CharField(max_length=50, blank=True,null=True,)
am = models.CharField(max_length=30, blank=True,null=True,)
cm = models.CharField(max_length=30, blank=True,null=True,)
link_gate = models.FilePathField(path="c:\private", blank=True,null=True,)
freigabe_erfolgt = models.BooleanField()
unterlagen_gesichtet = models.BooleanField()
intern_kickoff_termin = models.DateField(auto_now=False, auto_now_add=False, blank=True,null=True,)
Angebots_dokument = models.IntegerField(blank=True,null=True,)
LL_anfragen_definiert = models.BooleanField()
offene_punkte = models.TextField(blank=True,null=True,)
LL_angefragt = models.BooleanField()
LL_antworten = models.IntegerField(blank=True,null=True,)
LL_offene_punkte = models.TextField(blank=True,null=True,)
def __unicode__(self):
return self.kunde