在Django中引用原始发布数据

时间:2017-03-15 16:49:26

标签: python django forms python-3.x

我正在尝试弄清楚如何将原始字段数据及其结果发布到我的结果页面。我有一个用Django编写的应用程序,它有两个html页面。输入页面和结果页面。输入页面有一个表单。结果页面有输出。这是我的代码:

models.py

class IssuingCA (models.Model):
    ICA_name = models.CharField(max_length=200)
    filepath = models.CharField(max_length=200)
    def __str__(self):
        return self.ICA_name

views.py(简化版)

def index(request):
    issuers = IssuingCA.objects.order_by('ICA_name')
    issuerOptions = {'issuers': issuers}
    return render(request, 'index.html', issuerOptions)

def results(request):
    issuer = request.POST['selectedIssuer']
    issuername = 'Where I want the ICA_name value "icas" displayed'
    info = {'issuer': issuer, 'issuername': issuername}
    return render(request, 'results.html', info)

的index.html

--snip--
<label for="selectedIssuers">Issuing CA</label>
    <select id="selectedIssuers" name="selectedIssuers">
    {% for icas in issuers %}
    <option value="{{ icas.filepath }}">{{ icas }}</option>
    {% endfor %}
--snip--

results.html

--snip--
<div>{{ issuer }}</div>
<div>{{ issuername }}</div>
--snip--

让我们为数据库设置一些示例数据: ICA_Name =&#34; 松鼠&#34 ;; filepath =&#34; in / some / forest &#34;

应用程序的工作方式是它在index.html页面中显示一个下拉列表,显示所有值的ICA_name。当您选择ICA_name时,在这种情况下,&#39;松鼠&#39;并提交,它将选项的值传递为松鼠的filepath - &#34;在/ some / forest&#34;我通过POST请求它,它显示在结果页面上。我想要的是一种在结果页面上也显示松鼠原始价值的方法,这样对于issuer<div>中的文字显示松鼠(这当前有效) )对于IssuerName<div>中的文字显示 in / some / forest

1 个答案:

答案 0 :(得分:0)

如果您必须手动执行此操作,请将IssuingCA实例的主键放在value=的{​​{1}}属性中,

<option>

然后在结果中返回实例:

<option value="{{ icas.pk }}">{{ icas }}</option>

但如果你正在使用Django,那么肯定想要使用它的表格。

这是一个教程:https://docs.djangoproject.com/en/1.10/intro/tutorial04/

以下是完整的文档:https://docs.djangoproject.com/en/1.10/topics/forms/

Django提供了更好的方法来管理输入数据,以保护您免受各种陷阱的侵害。