Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Can';在我的表格中,有几个问题没有回答_Python_Django_Forms - Fatal编程技术网

Python Can';在我的表格中,有几个问题没有回答

Python Can';在我的表格中,有几个问题没有回答,python,django,forms,Python,Django,Forms,我在视图“def save_reply”中创建了一个函数,允许我检索给定患者的问题答案。现在,我想在我的表格中完成许多提交问题,因为我的功能只在我有问题和答案时起作用,但当我有一些问题时它不起作用! 我的问题是,它每次只会得到最后一个问题的答案,例如,如果我有5个问题和5个答案,他们会在我的回复模型中注册,是最后一个答案的5倍!我想为每个问题,他记录他的回答与之相关!也就是说,如果我有5个问题和5个答案,我想为每个问题,他给我记录他的回答,对应它! 谢谢你的帮助 这是my models.py:

我在视图“def save_reply”中创建了一个函数,允许我检索给定患者的问题答案。现在,我想在我的表格中完成许多提交问题,因为我的功能只在我有问题和答案时起作用,但当我有一些问题时它不起作用! 我的问题是,它每次只会得到最后一个问题的答案,例如,如果我有5个问题和5个答案,他们会在我的回复模型中注册,是最后一个答案的5倍!我想为每个问题,他记录他的回答与之相关!也就是说,如果我有5个问题和5个答案,我想为每个问题,他给我记录他的回答,对应它! 谢谢你的帮助

这是my models.py:

这是my views.py:

这是我的forms.py:

这是我的模板(formDynamic):

{%load staticfiles%}
患者详细信息:{{Patient}
{%csrf_令牌%}
{%block content%}
{问题%中的问题的百分比}
{{question.question_text}{{{question.pub_date}}
#我不知道我要在这里放什么进去
{%endfor%}
{%endblock%}

如何获取我的提交按钮或只注册一个答案,但注册多个答案?

问题是什么?@FlorianNeiss如何获取我的提交按钮或只注册一个答案,但注册多个答案?
class Patient(models.Model):
    name = models.CharField(max_length=50)

    def __unicode__(self):
    return self.name + ' [' + str(self.id) + ']'


class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')

    def __unicode__(self):
    return self.question_text


class Reply(models.Model):
    question = models.ForeignKey(Question)
    patient = models.ForeignKey(Patient)
    reply_text = models.CharField(max_length=200)

    def __unicode__(self):
        return self.reply_text
def save_reply(request, patient_id):
    list_patient = Patient.objects.order_by('name')
    context = RequestContext(request, {'list_patient':list_patient,'welcome': 'Welcome on my page Django !',})
    questions = Question.objects.all()
    patient = get_object_or_404(Patient, pk=patient_id)
    if request.method == 'POST':
        form = ReplyForm(request.POST)
        if form.is_valid():
            for question in questions:
                my_reply = form.cleaned_data['reply_'+question.id]
                post = Reply.objects.create(patient = patient, question = question, reply_text = my_reply)
                post.save()
                return render(request, 'PQR/list.html', context )
        else:
            form = ReplyForm()
            previous_reply = Reply.objects.filter(patient=patient_id).first
            return render_to_response('PQR/formDynamic.html', {'form': form, 'questions': questions, 'patient': patient, 'previous_reply': previous_reply, }, context_instance=RequestContext(request))
from django import forms 
from PQR.models import Reply

class ReplyForm(forms.Form):
    class Meta:
        model = Reply
reply = forms.CharField(label='Reply ',max_length=100) 
{% load staticfiles %}
<link rel="stylesheet" type="text/css" href="{% static 'Forum/style.css' %}" />
<div>
    <h1>Patient details : {{ patient }}</h1>    
</div>
<form action="{% url 'detail_patient' patient.id %}" method="post">
{% csrf_token %}
<input type="hidden" value="{{ patient.id }}" />
<fieldset>
{% block content %}
    {% for question in questions %}
        <h2><abcd>{{ question.question_text }}</abcd>  <h6>{{ question.pub_date }}</h6></h2> 
        <!--{{ form }}
        <label>{{ question }}</label>
        <input id="id_reply_{{ question.id }}" type="text" name="reply_{{ question.id }}" maxlength="100" value="{{ previous_reply }}"></input> --> 
# I don't know what I have to put here enter <!--  -->
    {% endfor %}
{% endblock %}
</fieldset>
<input type="submit" value="Submit"/>
</form>
<a href="{% url 'list_patient' %}"/> <input type="button" value="Look Back"/>