gpt4 book ai didi

python - django 表单无法渲染到响应

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:27:48 25 4
gpt4 key购买 nike

我有一个生成二维码的 django 表单,该表单确实显示在浏览器上,但是在提交后,它不会呈现 qr_results.html

View .py

from django.template.loader import get_template
from django.template import Template, Context
from django.http import HttpResponse, Http404
from django.shortcuts import render_to_response
from django.core.mail import send_mail
from django.http import HttpResponseRedirect
from cacoos_com.qr.qr_form import QrForm
from pygooglechart import QRChart

def qr(request):
if request.method == 'POST':
qform = QrForm(request.POST)
if qform.is_valid():
qc = qform.cleaned_data
chart = QRChart(125,125)
chart.add_data(qc['url'])
chart.set_ec('H', 0)
chart.download('/opt/cacoos_com/media/qr-hello.png')
render_to_response('qr_results.html', {'url': qc['url']})
else:
qform = QrForm(initial={'url': 'type your url here'})
return render_to_response('qr_form.html', {'form': qform})

qr_form.py

from django import forms

class QrForm(forms.Form):
url = forms.CharField(max_length=100)

我没有在这里发布模板,但我认为它们可以吗?知道为什么会这样....

:更新

这是使用的两个模板..

qr_form.py

{% extends "base.html" %}
<html>
<head>
<title>QR generator</title>
</head>
<body>
{% block content %}
<h3>QR encoder</h3>

{% if form.errors %}
<p style="color: red;">
Please Correct the error{{ form.errors|pluralize }} below.
</p>
{% endif %}

<form action="" method="POST">
<div class="field">
{{ form.url.errors }}
<label for="id_url">Url:</label>
{{ form.url }}
</div>
<input type="submit" value="Submit">
</form>

{% endblock %}
</body>
</html>

qr_results.html

{% extends "base.html" %}

{% block content %}
<h3>QR code</h3>

<p> This is the qr code for your url {{ url }} </p>

<p><img src="{{ MEDIA_URL}}/media/qr-hello.png" /"></p>

{% endblock %}

最佳答案

那是因为你的 View 没有返回

的结果
render_to_response('qr_results.html', {'url': qc['url']})

在 POST 之后进行重定向也是一个好习惯(参见 http://en.wikipedia.org/wiki/Post/Redirect/Get)。

关于python - django 表单无法渲染到响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8874582/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com