当我在HTML中呈现表单时,我使用此视图。 patient_id用于表示签入的患者和名称显示等。
def Checkin(request, patient_id):
patient = get_object_or_404(PatientInfo, pk=patient_id)
form = forms.PatientCheckinForm()
return render(request, 'patientRecords/checkin.html', {'patient': patient, 'form':form})
当我提交填写为POST方法的患者表格时,我仍然需要访问patient_id。目前,这是接受填充表格的视图:
def CheckinSubmit(request):
if request.method == 'POST':
form = forms.PatientCheckinForm(request.POST, request.FILES)
if form.is_valid():
instance = form.save(commit=False)
instance.date_time_of_checkin = dt.now()
instance.patient = patient.patient_id
instance.save()
return redirect('patientRecords/index.html')
我想将instance.patient设置为来自Checkin视图的患者一部分的patient_id。有没有办法将患者数据与POST方法一起传回,还是有另外一种方法可以做到这一点?
供参考,这是我的模板,我使用的是ModelForm而不是表格。
{% block content %}
<div class="container">
<h1>Patient Checkin</h1>
<h2>{{patient.first_name}} {{patient.last_name}}</h2>
</div>
<div class="container">
<form action="{% url 'patientRecords:checkinsubmit' %}" method="POST" class="form">
{% csrf_token %}
{% bootstrap_form form %}
{% buttons %}
<button type="submit" class="btn btn-primary">Submit</button>
{% endbuttons %}
</form>
</div>
{% endblock %}
提前致谢!
答案 0 :(得分:2)
您应该只需在表单中添加隐藏的输入即可捕获患者ID:
{% block content %}
<div class="container">
<h1>Patient Checkin</h1>
<h2>{{patient.first_name}} {{patient.last_name}}</h2>
</div>
<div class="container">
<form action="{% url 'patientRecords:checkinsubmit' %}" method="POST" class="form">
<input type="hidden" name="patient_id" value="{{patient.patient_id}}" />
{% csrf_token %}
{% bootstrap_form form %}
{% buttons %}
<button type="submit" class="btn btn-primary">Submit</button>
{% endbuttons %}
</form>
</div>
{% endblock %}
(请注意,这假设可以从patient_id
对象的patient
属性访问患者ID。)
然后,在CheckinSubmit
方法中,您可以通过request.POST.get('patient_id')
或者,您的签到表单似乎会在URL中加载患者ID。在CheckinSubmit
方法中,您应该可以通过request.META.HTTP_REFERER
属性访问此网址。然后,您可以解析该网址(例如,使用request.META.HTTP_REFERER.split('/')[len(request.META.HTTP_REFERER.split('/')) - 1]
提取患者ID。
答案 1 :(得分:0)
示例
<form method="post" action = "{% url 'user_search_from_group' %}">
<div class="module-option clearfix">
<div class="input-append pull-left">
<input type="hidden" name="groupname" value="{{ gpname }}" />
{% csrf_token %}
<input type="text" class="span3" placeholder="Filter by name" id="username3" name="username3" required>
<button type="submit" class="btn" name="submit">
<i class="icon-search"></i>
</button>
</div>
</div>
</form>
在这里,隐藏字段用于沿表格传递值。
def user_search_from_group(request):
if request.method == 'POST':
username3 = request.POST.get('username3')
gname = request.POST.get('groupname')
使用请求,我们使用view内部的值