【问题标题】:Recover the data already recorded in my Django admin space in my form在我的表单中恢复已经记录在我的 Django 管理空间中的数据
【发布时间】:2015-08-25 10:30:03
【问题描述】:

我想知道如何检索已在我的文本字段中制作的答案,因为无法检索已注册的答案!

这是我的模型:

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

这是我的模板(formDynamic.html):

{% load staticfiles %}
<link rel="stylesheet" type="text/css" href="{% static 'Forum/style.css' %}" />
<div>
    <h1>Patient details : {{ patient }}</h1>    
</div>
form-included-into-question-template --> 
<form action="success" method="post">

{% csrf_token %}
<fieldset>
{% block content %}
    {% for question in questions %}
        <h2><abcd>{{ question }}</abcd>  <h6>{{ question.pub_date }}</h6></h2>

            {% for reply in form %}
                {{ form }}
            {% endfor %}
    {% endfor %}
{% endblock %}
</fieldset>
<input type="submit" value="Submit"/>
</form>
<a href="{% url 'list_patient' %}"/> <input type="button" value="Look Back"/>

这是我的网址:

from django.conf.urls import url
from .import views

urlpatterns = [
    url(r'^$', views.list, name ='list_patient'),
    url(r'^(?P<patient_id>[0-9]+)/patient/$', views.save_reply, name ='detail_patient'),
    #url(r'^(?P<patient_id>[0-9]+)/patient/success$', 'success', name ='success'),
 ]

这是我的 forms.py :

from django.forms import ModelForm
from django import forms
from .models import Reply 

class ReplyForm(ModelForm):
    class Meta:
        model = Reply
        fields = ['reply_text']

这是我的views.py:

def save_reply(request, patient_id):
        patient = get_object_or_404(Patient, pk=patient_id)
        questions = Question.objects.all()
        if request.method == 'POST':
            form = Replyform(request.POST)
            if form.is_valid():
                new_obj = form.save(commit=False)
                new_obj.creator = request.user
                u = Question.objects.get(pk=id)
                new_obj.reply_to = u
                new_obj.save()
                return HttpResponseRedirect('/success')
        else:
            form = ReplyForm()

        return render_to_response('PQR/formDynamic.html', {'form': form, 'questions': questions, 'patient': patient,}, context_instance=RequestContext(request))

    def success(request):
        return HttpResponse ('<p>Success</p>')

我无法检索已注册的答案并运行我的 post 方法来保存我的答案并将 URL /success 返回给我。 我的 post 方法效果不如我重定向到我的 url / 成功。感谢您的帮助!

【问题讨论】:

    标签: python django forms post


    【解决方案1】:

    我不明白您的问题,但您无法提交表单的原因是它正在发布到不存在的目的地:表单 HTML 标记中的 action 属性必须是实际 URL。如果您想使用视图名称,请通过 {% url %} 标签:

    <form action="{% url "success" patient_id=patient.id %}" method="post">
    

    【讨论】:

    • 我的提交现在可以了,谢谢!现在我想检索已经在我的字段文本中注册的答案,你知道如何恢复我的答案并将它们显示在我的文本字段中吗?
    猜你喜欢
    • 2016-10-08
    • 2013-12-05
    • 1970-01-01
    • 1970-01-01
    • 2021-10-02
    • 1970-01-01
    • 2020-07-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多