Reputation: 33684
I'm trying to create a very simple web page with 2 textfields, 1 button and 3 labels to make it look like so:
First Name: [..........] <-- label + textfield
Last Name: [...........] <-- label + textfield
(Submit) <-- button
{Your full name is %FirstName% + %LastName% } <-- label
As you can see it's an extremely simple task. I could have easily done this in ASP.NET in 5 minutes but I am not very familiar with Django or Python, as I am just starting to learn the framework.
Thanks.
Upvotes: 0
Views: 1218
Reputation: 624
zomboid's comment is correct. It looks like you need to learn more about Django. You might want to take a look at this chapter from The Django Book. That text is a bit outdated, but the fundamentals are the same.
Some general guidance: you need to point a URL (e.g., /namegrabber
) to a view function. Inside that view function, you decide whether the user's doing a GET or a POST. If it's a GET, then instantiate an unbound form -- i.e., a form with no data -- and pass it to a template to be rendered. If it's a POST, then instantiate your form, populating it with request.POST
. Then, take the data in your form's cleaned_data
attribute and pass that to a template to be rendered.
Two other comments. First, as I mentioned, the text in The Django Book is a bit outdated. In particular, you'll need to somehow deal with Django's CSRF protection since your view will be handling POST requests, assuming you're using Django 1.2+. A nice overview of how to do that is here. Second, when you're building your form, you'll probably want to use forms.CharField
for the data you're talking about.
Good luck! This is a five-minute task in Django once you're accustomed to the framework.
Upvotes: 2
Reputation: 8952
On the python end of it, you can view these values by looking at request.POST["field_name"]. You can then pass these values to the template (different methods depending on which function you are using to call the template). Then the template will look something like
Your full name is {{ first_name }} {{ last_name }}
Let me know if you need more detail / examples.
Upvotes: 1