From 959c588c9740d8d0ff544fbec4a1386b87d0e992 Mon Sep 17 00:00:00 2001 From: Federico Denkena Date: Tue, 24 Oct 2023 11:02:47 +0200 Subject: [PATCH] change db model to improve atomic database --- static/css/style.css | 1 + templates/anmeldung.html | 12 +++---- website/__pycache__/admin.cpython-311.pyc | Bin 199 -> 351 bytes website/__pycache__/models.cpython-311.pyc | Bin 5975 -> 6232 bytes website/__pycache__/views.cpython-311.pyc | Bin 4687 -> 5173 bytes website/admin.py | 3 +- ...ress_registrant_address_street_and_more.py | 30 ++++++++++++++++++ website/models.py | 6 ++-- website/views.py | 13 +++++++- 9 files changed, 54 insertions(+), 11 deletions(-) create mode 100644 website/migrations/0004_rename_address_registrant_address_street_and_more.py diff --git a/static/css/style.css b/static/css/style.css index f7948ccd..824c0d1a 100644 --- a/static/css/style.css +++ b/static/css/style.css @@ -13,6 +13,7 @@ sub{bottom:-0.25em}sup{top:-0.5em}figure{margin:1em 40px}img{border-style:none} code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}hr{box-sizing:content-box;height:0;overflow:visible} button,input,select,textarea,optgroup{font:inherit;margin:0}optgroup{font-weight:bold} #id_gender,#id_food{display:flex;justify-content:center} +label{padding-right:7px} input{padding:8px;border:1px solid #ccc;border-radius:4px;height:32px} button,input{overflow:visible}button,select{text-transform:none} button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button} diff --git a/templates/anmeldung.html b/templates/anmeldung.html index 838c0b1f..b4f42174 100644 --- a/templates/anmeldung.html +++ b/templates/anmeldung.html @@ -4,11 +4,12 @@ {% block content %}
-

Anmeldung

+

Anmeldung

-
+
{% csrf_token %} +
{{ register_form.non_field_errors }}
@@ -35,6 +36,7 @@ {{ register_form.birthdate.errors }}
{{register_form.birthdate }}
+
{{ register_form.gender.errors }} @@ -59,19 +61,15 @@ {{ register_form.publish_phone.errors }}
{{register_form.publish_phone }}
+
{{ register_form.info.errors }}
{{register_form.info }}
-
{{ register_form.message.errors }}
{{register_form.message }}
- - - -
diff --git a/website/__pycache__/admin.cpython-311.pyc b/website/__pycache__/admin.cpython-311.pyc index f19ec6e5d7753b60220d3538497012edcb9ed86b..59a494826ae09a2010109e93e2082c9d40cabfc0 100644 GIT binary patch literal 351 zcmZ3^%ge<81P!;8QfqamPRz}vrZOL7XiI#N0?VdtVUdabkm)_@mQFcaNxpQ8 zfc{13KTkrlHpNa6Wv0pYJ`K`?0qY7GDa2 zi=pDr4WLK-rufXwhDgDkpB$ym5VzfM6(wgDld}tWtmd$vNoxord;v@g&EO}{Jjy0; zGDDMMwImz$CDJ%vvs@#Kx3efchfxw=Bu|89ZjB>vE&b%Ppp#jrpLG-6+2#;923b-f z`64ut=c43rXbngzI?1LO90Xl1Itvztc};gsrWCWnTDLV+YHBJtx zo%snv?R=+{)JR#47-~e1SLF75mm#-rBua9)EQbv_tdCWcj{GS@>Da&}rLU~?8A_ji zfxK$`#g3Evd^7uyyx_ZM==j!@jkY(1>h?X|QM42|dU!$!W! zE#w>DLoO*wT*6bd7d{QR2DlEm0k{d61|$Hp00fu=%mWqxNk9s4i-g@i-n^s{u+J0L zrp!e_U7>*Yndzp`_f|zZma|nkMjp0QnSJK$u&@G^P);AQeKo1kSBxjA84vN;3o#Yo z14PLur9+wl)f`j<4Z->M(x3w1hsk6q_Rp_!oDGgXnmeX{_wT5k5rerahS0i>jIMz# zcS(qqg_t44^m7&7pNkm0fBmd+BJv?s;-h6gYVcxIABI)?nl$<0y;Gah9MQb2G+9yu s?A`Z|)oFIg%eGdT!^r!d`gg#;yC3Yev7>C2Ihy&w9W%1~kGMI{ZxZzY*Z=?k delta 981 zcmZ{i&1+LZ5WwF@@?M&cZC;wBM$?FCRMJDJ6a?wTf;3Uv+D5Roib>kHNz;!A`(gzz z)>{rDff4lTrB;kq@h<%jOd-%B{sA5o63xkjxbs31>BlVdd$TjMv$Okle|RrOUb|d& zfy<+6n0~N-Brlxe8`yM~=dN>SRQhV0rTK-`{NfUuXgQRzf=(G_lQ@-mhT|5^(PD<> z4W2aBO0sfaroe8rX7>2%gCZ?t8O^h4c;*U77bV!1N8p=l10qVO-@@}u(XF~dNk!e1 z1>vm>+a#c($6Zn33ppLIRisUkN4U0R-XjTAUhaWcq+jjp+HkHnLc3La4z2T>x&7@r zy8S@i6J|Wni90IJ0~sf~yQ!y4J7{(>pu27gQ3B`PXCUdmAckPa;)R#)VVj!Kbw&*X ze!1WECV6Rw7~yJ6!+UMcOG2e=jfA!at0cBdVl@)mh{F}nPcaEk9EpfCNppFlNZI&( zwzk-A4ZrP^{!YLTN8mBj`IWI340}$ljQ%c>-y^&9xgXMt*K;L1KF9_CVHHZLdyCoQ!my}ChS()``3vmwcO_I7gfEG?C}DI(!l;Ay z2Dij@ZpBO7iWj++uW&1WU|``ixxpiOok#8xkK9Ebg)2M?7kCuz%4p2=o8#Bv+u{3E zSaOE?0{e@?##e-mFYp+DU}9lazrio_fq{`z8=_7ZsPM;+yWAi#R&@jcw0b7r9KH@- z5d6Rll>71H$Aigv0y5&oLO_=u)DUpAWH@Lk;UvO*NSF~wPVN_IHqZx371@Fadl2CW qB0xS|$xtK(VoLytUmP~M`6;D2sdh!)lbr-V%J4CoePF;Oz&Zd((U&Ix delta 313 zcmdn0abAUQIWI340}veEBb(~TwUJMpgR6=+BR@B_ATd34asa40lBoCi+eBYw*3nFSmgA0-s)k`(19q3F;T5wO52+_CJAh;W|FD=fw6Iax#aqYN{n*#`zp0&D;Pp%6qD diff --git a/website/admin.py b/website/admin.py index 8c38f3f3..abe46b51 100644 --- a/website/admin.py +++ b/website/admin.py @@ -1,3 +1,4 @@ from django.contrib import admin - +from .models import Registrant # Register your models here. +admin.site.register(Registrant) diff --git a/website/migrations/0004_rename_address_registrant_address_street_and_more.py b/website/migrations/0004_rename_address_registrant_address_street_and_more.py new file mode 100644 index 00000000..e3120ddf --- /dev/null +++ b/website/migrations/0004_rename_address_registrant_address_street_and_more.py @@ -0,0 +1,30 @@ +# Generated by Django 4.2.6 on 2023-10-24 09:02 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('website', '0003_registrant_slug_alter_registrant_address'), + ] + + operations = [ + migrations.RenameField( + model_name='registrant', + old_name='address', + new_name='address_street', + ), + migrations.AddField( + model_name='registrant', + name='address_plz', + field=models.CharField(default=0, max_length=7), + preserve_default=False, + ), + migrations.AddField( + model_name='registrant', + name='address_town', + field=models.CharField(default=0, max_length=33), + preserve_default=False, + ), + ] diff --git a/website/models.py b/website/models.py index e1929586..01e5aae6 100644 --- a/website/models.py +++ b/website/models.py @@ -53,7 +53,9 @@ class Registrant(models.Model): mail = models.EmailField() phone = models.CharField(max_length=21) rate_reduced = models.BooleanField() - address = models.CharField(max_length=256) + address_street = models.CharField(max_length=256) + address_plz = models.CharField(max_length=7) + address_town = models.CharField(max_length=33) birthdate = models.DateField() gender = models.CharField(max_length=32, blank=False, choices=GESCHLECHTER) food = models.CharField(max_length=32, blank=False, choices=ERNÄHRUNG) @@ -72,6 +74,6 @@ class Registrant(models.Model): class RegisterForm(ModelForm): class Meta: model = Registrant - fields = ["name","mail","phone","rate_reduced","address","birthdate","gender","food","music","cake","publish_address","publish_phone","info","message"] + fields = ["name","mail","phone","rate_reduced","address_street","address_plz","address_town","birthdate","gender","food","music","cake","publish_address","publish_phone","info","message"] gender = forms.ChoiceField(widget=forms.RadioSelect,choices=GESCHLECHTER) food = forms.ChoiceField(widget=forms.RadioSelect,choices=ERNÄHRUNG) diff --git a/website/views.py b/website/views.py index 028b06be..973847bb 100644 --- a/website/views.py +++ b/website/views.py @@ -74,6 +74,17 @@ def impressum(request): return render(request, 'impressum.html') def anmeldung(request): - register_form = RegisterForm() + if request.method == 'POST': + register_form = RegisterForm(request.POST) + if register_form.is_valid(): + register_form.save() + register_form = RegisterForm() + else: + return render(request, 'homepage.html') + try: + if not register_form: + register_form = RegisterForm() + except UnboundLocalError: + register_form = RegisterForm() context = {"register_form": register_form} return render(request, 'anmeldung.html', context)