首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >django表单失败render_to_response

django表单失败render_to_response
EN

Stack Overflow用户
提问于 2012-01-16 00:18:58
回答 2查看 2.1K关注 0票数 1

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

views.py

代码语言:javascript
复制
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

代码语言:javascript
复制
from django import forms

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

我没有在这里张贴模板,但我认为他们还好吗?知道为什么会发生这种事吗..。

:更新

这是使用的两个模板。

qr_form.py

代码语言:javascript
复制
{% 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

代码语言:javascript
复制
{% 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 %}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-16 00:29:28

这是因为您的视图没有返回

代码语言:javascript
复制
render_to_response('qr_results.html', {'url': qc['url']})

在发布后进行重定向也是一个很好的实践(请参阅http://en.wikipedia.org/wiki/Post/Redirect/Get )。

票数 2
EN

Stack Overflow用户

发布于 2012-01-16 01:40:49

代码语言:javascript
复制
render_to_response('qr_results.html', {'url': qc['url']})

替换成

代码语言:javascript
复制
return render_to_response('qr_results.html', {'url': qc['url']})

忘了还它!现在开始工作了

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8874582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档