Skip to main content

Using Modals to render forms

A student wanted to create several tables with foreign keys linking them. He was placing the forms all over the place and that just didn't seem to make sense to me. I suggested that he link all the forms to one main registration page, and while he worked on it, I came up with my own solution that I feel rather proud of. Though I'm well aware it is a very simple solution. 

views.py
def register(request):
# form for team
formteam = TeamForm(request.POST or None)
if formteam.is_valid():
formteam.save()
return redirect('registerForTeam')
else:
print(formteam.errors)
formteam = TeamForm()

# form for coach
formcoaches = CoachesForm(request.POST or None)
if formcoaches.is_valid():
formcoaches.save()
return redirect('registerForTeam')
else:
print(formcoaches.errors)
formcoaches = CoachesForm()

# form for player
formplayer = PlayersForm(request.POST or None)
if formplayer.is_valid():
formplayer.save()
return redirect('registerForTeam')
else:
print(formplayer.errors)
formplayer = PlayersForm()


context = {
'team': formteam,
'coach': formcoaches,
'player': formplayer
}
return render(request, 'SoccerApp/SoccerAppRegister.html', context)

I put all the forms in a single view function so that I can use modals to render the forms. I used Bootstrap to create the modals. I was stuck at this point for a shamefully long time, before I realised that Javascript was not added to the base template, and that was what was preventing me from rendering the modals. *facepalm* I'm not really pleased with the long view function and I'm sure there's probably a better way to do this. I'll look at it again at some point and try and figure it out. I haven't really tried using class based views and I wonder if that would make things more readable? I'm putting that on my to do list. 

Comments

Popular posts from this blog

Deviants in a normal world

It's definitely been a bit since I've seen this graphy. Anyone who has learnt about standard deviation knows this graph. Standard Deviation Standard deviation shows us how spread out all the values in a set are from the mean. The higher the standard deviation, the more spread out the values are over a wider range and the flatter this curve. In a normal distribution, most values are within 1 standard deviation from the mean(the green part of the graph). Apparently NumPy can calculate standard deviation too! import numpy numSet = [ *lots of numbers* ] numSetStdDev = numpy.std(numSet) Variance The variance also indicates how spread out the values in a set are. It measures the average degree to which each value differs from the mean. variance = standard deviation ^2 import numpy numSet = [ *lots of numbers * ] numSetVar = numpy.var(numSet) Source:  https://www.w3schools.com/python/python_ml_standard_deviation.asp

So long and thanks for all the fish! Part 1 of 2

I have been with the Tech Academy both as a software developer bootcamp student, as well as an employee. After my bootcamp, I was hired first as the live project instructor, and then as Live Project Director. This, I believe, gives me a unique point of view. I have absolutely no regrets and would join the bootcamp again. But there are a number of things I would do differently. What I have learnt as a former student 1. DO NOT WORK PART TIME.   I worked part-time(20-30hrs) during my bootcamp. I was up at 2.30-3.00am every day to work for several hours. I took a short nap, and then I took a 1hr bus ride down to campus. Studied for 7- 9 hours. Took a 1hr bus ride back home. Lather, rinse, repeat. I also had some family obligations. My weekends and half the summer were taken up caring for my young stepdaughter. I was completely exhausted by the end of the bootcamp and I didn't know if I could do more. Learning to program is HARD. You need to be fully focused. I am fortunate because I di...

Certified CSS Surgeon

I've just been certified as a top notch CSS Surgeon 😹😹😹. Codepip has just officially launched and they're offering CSS Surgeon for free until the 1st of September. I've already finished Flexbox Froggy(Free) and Grid Garden(Also free). I really do enjoy the CSS games on this website. It has helped me better understand CSS. There is still so much to learn. I've been trying to create a simple language learning website and it has been a struggle. I'm using the most simple website layout and yet it's just kicking my butt(I'm looking at you Nav bar). I hope to add some Javascript to make it more interactive in the future. At one point I really wanted to throw in the towel because it felt like I would never get this. It's hard not to give up when there are so many hurdles to cross. Can I really be confident at coding after just a 6 month bootcamp?