Contact Formular wird nicht überprüft und funktioniert nicht

Django, Flask, Bottle, WSGI, CGI…
Antworten
bene_haha
User
Beiträge: 2
Registriert: Sonntag 13. Mai 2012, 08:10

Hallo zusammen,
bin gerade dabei ein Django Tutorial zu machen und komme ums verrecken :twisted: nicht weiter vielleicht kann mir hier jemand weiterhelfen.

Problem ist: Ich bekomme keine Fehlermeldung wenn ich keine E-Mail Adresse ins Feld eingebe. (Es wird alles akzeptiert)
Glaube das die Felder nicht überprüft werden. Auch wenn ich was richtiges Eingebe wird es nich weiter auf die nächste Seite geleitet.

Firefox: Eingabeleiste http://127.0.0.1:8000/contact/

(nur auf Senden geklickt) sonst passiert nichts keine fehlermeldung nichts.
Firefox: Eingabeleiste http://127.0.0.1:8000/contact/?email=&title=&text=

Wenn ich was eingabe sieht das dann so aus in der Url
http://127.0.0.1:8000/contact/?email=E-mail&title=das+ist+der+title&text=und+das+ist+hier+der+text+

Ich weis nicht was an meinem Code falsch ist.
Würde mich freuen wenn mir jemand weiter helfen könnte oder mir ein tip geben woran das liegt.
Bedanke mich schon einmal im vorraus für deine Hilfe.
Bene

Quelltext: contact.html

Code: Alles auswählen

{% extends "homepage/index.html" %}

{% block title %}
 Contact
{% endblock %}

{% block content %}

    <h2> Contact</h2>

    {% if success %}

        <h2>Data posted:</h2>

        <p>email:{{ email }}</p>
        <p>title:{{ title }}</p>
        <p>text:{{ text }}</p>

    {% else %}

    <form action="." methode="POST">

    {{ contact_form.as_p }}

    <input type="submit" value="Send">
    <input type="reset" value="Reset">
    </form>
    {% endif %}

{% endblock %}
_____________________________________________
Quelltext views.py (etwas gekürzt)

Code: Alles auswählen

from django.shortcuts import render_to_response
from blog.apps.data.models import Entry
from django.template import RequestContext

from blog.apps.homepage.froms import ContactForm


def contact(request):

    success = False
    email = ""
    title = ""
    text = ""

    if request.method == "POST":
        contact_form = ContactForm(request.POST)

        if contact_form.is_valid():
            success = True
            email = contact_form.cleaned_data['email']
            title = contact_form.cleaned_data['title']
            text = contact_form.cleaned_data['text']

    else:
        contact_form = ContactForm()

    ctx = {'contact_form':contact_form, 'email':email, 'title':title, 'text':text, 'success':success}

    return render_to_response('homepage/contact.html', ctx, context_instance=RequestContext(request))

def archive (request):
    return render_to_response('homepage/archive.html',context_instance=RequestContext(request))
BlackJack

@bene_haha: Wenn die Daten in der URL auftauchen, dann ist die Übertragunsgmethode ganz offensichtlich nicht 'POST' sondern 'GET'. Du musst beim ``<form>``-Element im Template den Attributnamen schon richtig schreiben. ;-)
bene_haha
User
Beiträge: 2
Registriert: Sonntag 13. Mai 2012, 08:10

DANKE :D So einfach ist das :-)
Antworten