i ont une forme de django qui génère le QRCode, la forme ne se présente sur le navigateur mais après avoir soumis, il ne rend pas qr_results.htmlforme django ne render_to_response
views.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)
Je n'ai pas affiché les modèles ici mais je pense qu'ils ok? toute idée pourquoi cela pourrait se produire ....
: mise à jour
ce sont les deux modèles utilisés ..
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 %}
Si aucune erreur est soulevée, il est probablement en raison d'un problème de modèle. Pourriez-vous mettre le code du modèle aussi? –
posté les modèles ci-dessus – krisdigitx
Btw, vos modèles manquent de jeton csrf donc je pense que votre application est vulnurable aux attaques csrf. Quelle version de django utilisez-vous? –