script solution

This commit is contained in:
vale981 2014-04-13 20:09:27 +02:00
parent 590b71eb92
commit 3138be9844
5 changed files with 80 additions and 58 deletions

Binary file not shown.

View file

@ -58,8 +58,11 @@ WSGI_APPLICATION = 'fahrschule_vale981.wsgi.application'
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'fahrschule_1',
'USER': 'postgres',
'PASSWORD': 'valentin',
'HOST': 'localhost'
}
}

View file

@ -19,29 +19,15 @@ class Quiz(models.Model) :
def __str__(self): # __unicode__ on Python 2
return self.title
class Frage(models.Model):
quiz = models.ManyToManyField(Quiz, blank=True, )
content = models.CharField(max_length=1000,
blank=False,
verbose_name='Frage Text',
)
class Admin:
pass
def __unicode__(self):
return self.content
def __str__(self): # __unicode__ on Python 2
return self.content
class Antwort(models.Model):
frage = models.ManyToManyField(Frage, blank=False, )
content = models.CharField(max_length=1000,
blank=False,
@ -56,20 +42,35 @@ class Antwort(models.Model):
def __str__(self): # __unicode__ on Python 2
return self.content
def get_related_to(self, status):
return self.related_to.filter(
from_people__status=status,
from_people__to_person=self)
class Admin:
pass
class Frage(models.Model):
quiz = models.ManyToManyField(Quiz, blank=True, )
class Results:
quiz=models.ManyToManyField(Quiz, blank=True, )
frage=models.ManyToManyField(User, blank=True, )
user=models.ManyToManyField(User, blank=True, )
content = models.CharField(max_length=1000,
blank=False,
verbose_name='Frage Text',
)
antworten = models.ManyToManyField(Antwort, blank=False, verbose_name='Antworten' )
class Admin:
pass
def __unicode__(self):
return self.content
def __str__(self): # __unicode__ on Python 2
return self.content
class Results(models.Model):
quiz=models.ForeignKey(Quiz, blank=True, )
frage=models.ForeignKey(Frage, blank=True, )
user=models.ForeignKey(User, blank=True, )
richtig = models.BooleanField(blank=True)
choice = models.ManyToManyField(Antwort)
aw = models.ForeignKey(Antwort)
choice = models.BooleanField(blank=True)

View file

@ -27,15 +27,6 @@ def quiz(request, quiz_id=1):
cs = {}
cs.update(csrf(request))
# AuthorFormSet = modelformset_factory(Results, form=ResultForm)
# if request.method == 'POST':
# formset = AuthorFormSet(request.POST, request.FILES)
# if formset.is_valid():
# formset.save()
# # do something.
# else:
# formset = AuthorFormSet(queryset=Frage.objects.filter(quiz=quiz_id))
height=75*Frage.objects.count()
height_menu = height + 10
if Frage.objects.count() == 0:
@ -43,24 +34,34 @@ def quiz(request, quiz_id=1):
height_menu = height
len_quiz = len(Quiz.objects.get(id=quiz_id).title)
count=Frage.objects.filter(quiz=quiz_id).count
count_aw = 0
aw = Frage.objects.filter(quiz=quiz_id)
cs.update({'quiz': Quiz.objects.get(id=quiz_id),
'Frage': Frage.objects.filter(quiz=quiz_id),
'len': len_quiz,
'hg': height,
'hg_m': height_menu,
'user': request.user,
'aw': Antwort.objects.all()})
'aw': Antwort.objects.all(),
'count': count,
'count_aw': count_aw})
return render_to_response('quiz.html', cs)
def check_view(request):
check = request.POST.get('aw_check', '')
user = request.POST.get('user_log', '')
frage = request.POST.get('frage', '')
antwort = request.POST.get('antwort', '')
richtig = request.POST.get('richtig', '')
quiz_get = request.POST.get('quiz', '')
res = Results(quiz=quiz_get, frage=frage, user=user, richtig=richtig, choice=check)
res.save()
return HttpResponseRedirect('/quiz/all/')
check = request.POST.get('aw_check', '')
user_id = request.POST.get('user_log', '')
user_act = User.objects.get(id=user_id)
frage_id = request.POST.get('frage', '')
frage = Frage.objects.get(id=frage_id)
antwort_id = request.POST.get('antwort', '')
antwort = Antwort.objects.get(id=antwort_id)
richtig = request.POST.get('richtig', '')
quiz_id = request.POST.get('quiz', '')
quiz = Quiz.objects.get(id=quiz_id)
res = Results(quiz=quiz, frage=frage, user=user_act, richtig=richtig, choice=check, aw=antwort)
res.save()
return HttpResponseRedirect('/quiz/all/')

View file

@ -1,3 +1,4 @@
{% extends 'quizzes.html' %}
<html lang="en">
<head>
@ -5,6 +6,7 @@
{% load staticfiles %}
<link rel="stylesheet" type="text/css" href="{% static 'css/quizz.css' %}" />
</head>
{% block header %}
{% if len >= 20 %}
<div style="font-size: 20px">{{ quiz.title }}</div>
@ -22,30 +24,45 @@
<ol>
{% for Frage in Frage %}
<li><div id="frage">{{Frage.content}}</div></li>
{% comment %}<form method="post" action="">
{{ formset }}
</form>{% endcomment %}
{% for aw in aw %}
{% if aw.frage.get == Frage %}
<form action="/quiz/check/" method="post">{% csrf_token %}
{% for aw in Frage.antworten.all %}
<form action="/quiz/check/" name="{{ aw.content }}" method="post">{% csrf_token %}
<label for="aw_check">{{ aw.content }}</label>
<input type="checkbox" name="aw_check" id="aw_check">
<input type="hidden" name="user_log" value="{{ user.get }}">
<input type="hidden" name="frage" value="{{ Frage }}">
<input type="hidden" name="antwort" value="{{ aw }}">
<input type="hidden" name="quiz" value="{{ quiz }}">
<input type="hidden" name="user_log" value="{{ user.id }}">
<input type="hidden" name="frage" value="{{ Frage.id }}">
<input type="hidden" name="antwort" value="{{ aw.id }}">
<input type="hidden" name="quiz" value="{{ quiz.id }}">
{% if aw.richtig %}
<input type="hidden" name="richtig" value=True>
{% else %}
<input type="hidden" name="richtig" value=False>
{% endif %}
<br><input type="submit" value="Abgeben" />
{% endif %}
<input type="submit" value="Abgeben" />
<br>
</form>
{% endfor %}
{% endfor %}
</form></ol>
</ol>
<script language="javascript">
function call_submitforms(){
{% for Frage in Frage %}
{% for aw in Frage.antworten.all %}
setTimeout("document.{{ aw.content }}.submit()",1000);
{{ check.it }}
{% endfor %}
{% endfor %}
}
</script>
<input type="button" value="Abschicken" onclick="call_submitforms()" />
{% endblock %}