PyCharm Entwicklungsumgebung
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

92 lines
2.9 KiB

from django.shortcuts import render
from django.http import HttpResponse
from django.template import loader
from django.shortcuts import render
from .form import *
from .models import *
from django.forms.models import model_to_dict
import sys
def get_class(classname):
return getattr(sys.modules[__name__], classname)
def index(request):
return render(request, 'ugssim/home.html')
def planungsparameter(request):
'''
Die Erzeugung der Webformulare soll dynamisch auf Basis der Model und Form Klassen
geschehen.
Dafür wird eine Liste mit den Klassenname der Models angelegt über die iteriert wird
Über die Funktion get_class(classname) erhält man das Klassenobjekt
modelclass für das Model
formclass für das Form
über diese wird dann iterierter.
Ein Formularfeld 'description' ist bei jedem Formular vorhanden, da die aber nicht
in der Datenbank /Model vorhanden ist. Daher wird dieses Feld entfernt (pop)
'''
formlist = {}
modellist = ['Address', 'Summary', 'CompanyData']
for modelname in modellist:
# globals()[ + 'Form'] = get_class( + 'Form')
modelclass = get_class(modelname)
formclass = get_class(modelname + 'Form')
if request.method == "POST":
rp = request.POST
if modelname + 'Button' in rp:
form = formclass(request.POST)
form.fields.pop('description')
if form.is_valid():
modelclass.objects.update(**form.cleaned_data)
else:
initial = {'description': 'Tester'}
# initial.update(model_to_dict(modelclass.objects.filter(id=1).first()))
form = formclass()
formpart = {
'modelname': modelname,
'form': form,
'heading': 'Mandatendaten2',
'description': 'Dict Descriptiopn'
}
formlist.update({modelname + "form": formpart})
context = {
'formlist': formlist
}
return render(request, 'planungsparameter/planungsparameter.html', context)
def companydata(request):
template = loader.get_template('ugssim/companydata.html')
return HttpResponse(template.render(request))
def input(request):
template = loader.get_template('ugssim/companydata.html')
return HttpResponse(template.render(request))
'''
def get_name(request):
if request.method == 'POST':
form = NameForm(request.POST)
if form.is_valid():
return HttpResponse(f"Hello, {form.your_name}!")
else:
form = NameForm()
return render(request, 'ugssim/name.html', {'form': form})
'''
def address(request):
if request.method == 'POST':
form = AddressForm(request.POST)
if form.is_valid():
form.save()
else:
form = AddressForm()
return render(request, 'ugssim/address.html', {'form': form})