From 6542c63ec3634993aa118c8a778c3ec3e8add275 Mon Sep 17 00:00:00 2001 From: Stephen McQuay Date: Tue, 23 Apr 2013 19:45:32 -0700 Subject: [PATCH] printing random numbers in appropriate range --- mmg/forms.py | 34 ++++++++++++++++++++++++++++++++++ mmg/urls.py | 9 +-------- mmg/views.py | 38 +++++++++++++++++++++++++++++++++++++- static/math.css | 18 ++++++++++++++++++ templates/index.html | 23 ++++++++++++++--------- 5 files changed, 104 insertions(+), 18 deletions(-) create mode 100644 mmg/forms.py create mode 100644 static/math.css diff --git a/mmg/forms.py b/mmg/forms.py new file mode 100644 index 0000000..11f0918 --- /dev/null +++ b/mmg/forms.py @@ -0,0 +1,34 @@ +from django import forms + +class NumberForm(forms.Form): + first = forms.IntegerField( + widget=forms.TextInput( + attrs={ + 'class': 'number', + 'size': 2, + 'readonly': True, + 'hidden': True, + })) + operation = forms.CharField( + widget=forms.TextInput( + attrs={ + 'class': 'number', + 'size': 2, + 'readonly': True, + 'hidden': True, + })) + second = forms.IntegerField( + widget=forms.TextInput( + attrs={ + 'class': 'number', + 'size': 2, + 'readonly': True, + 'hidden': True, + })) + answer = forms.IntegerField( + widget=forms.TextInput( + attrs={ + 'type': 'tel', + 'class': 'number', + 'size': 2, + })) diff --git a/mmg/urls.py b/mmg/urls.py index 6f8101a..7142081 100644 --- a/mmg/urls.py +++ b/mmg/urls.py @@ -6,13 +6,6 @@ from django.conf.urls import patterns, url urlpatterns = patterns( '', - # Examples: url(r'^$', 'mmg.views.home', name='home'), - # url(r'^mmg/', include('mmg.foo.urls')), - - # Uncomment the admin/doc line below to enable admin documentation: - # url(r'^admin/doc/', include('django.contrib.admindocs.urls')), - - # Uncomment the next line to enable the admin: - # url(r'^admin/', include(admin.site.urls)), + url(r'^answer/$', 'mmg.views.answer', name='answer'), ) diff --git a/mmg/views.py b/mmg/views.py index ff509c5..0847fab 100644 --- a/mmg/views.py +++ b/mmg/views.py @@ -1,5 +1,41 @@ +import random + +from django.http import HttpResponseRedirect +from django.core.urlresolvers import reverse from django.shortcuts import render +from mmg.forms import NumberForm + +MAX = 12 + def home(request): - return render(request, 'index.html') + operation = random.choice(['+', '-']) + first = random.choice(range(MAX)) + if operation == '-': + if first == 0: + second = 0 + else: + second = random.choice(range(first)) + else: + second = random.choice(range(MAX)) + form = NumberForm({ + 'first': first, + 'operation': operation, + 'second': second, + }) + return render( + request, + 'index.html', + { + 'form': form, + } + ) + + +def answer(request): + form = NumberForm(request.POST or None) + print(form) + if form.is_valid(): + print(form.cleaned_data) + return HttpResponseRedirect(reverse('mmg.views.home')) diff --git a/static/math.css b/static/math.css new file mode 100644 index 0000000..f5d3d70 --- /dev/null +++ b/static/math.css @@ -0,0 +1,18 @@ +.number { + font-size: 100px; + height: 80px; + font-family: helvetica; +} + +.question { + padding-left: 30px; +} + +.answer { + padding-top: 30px; +} + +#content { + padding-top: 30px; +} + diff --git a/templates/index.html b/templates/index.html index 6d87f49..b991f7d 100644 --- a/templates/index.html +++ b/templates/index.html @@ -3,20 +3,25 @@ {{ title }} - - - +
- hello +
+ {% csrf_token %} +
+ {{ form.first.value }} + {{ form.operation.value }} + {{ form.second.value }} +
+ {{ form.first }} + {{ form.operation }} + {{ form.second }} + {{ form.answer }} + +
-