Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

{{ form.as_p }} – Render Django Forms as paragraph

  • Difficulty Level : Basic
  • Last Updated : 13 Feb, 2020

Django forms are an advanced set of HTML forms that can be created using python and support all features of HTML forms in a pythonic way. Rendering Django Forms in the template may seem messy at times but with proper knowledge of Django Forms and attributes of fields, one can easily create excellent Form with all powerful features. In this article, Form is rendered as paragraphs in the template.

{{ form.as_p }} – Render Django Forms as paragraph

Illustration of {{ form.as_p }} using an Example. Consider a project named geeksforgeeks having an app named geeks.

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course

Refer to the following articles to check how to create a project and an app in Django.

Let’s create a sample Django Form to render it and show as an example. In geeks >, enter following code

from django import forms
# creating a form 
class InputForm(forms.Form):
    first_name = forms.CharField(max_length = 200)
    last_name = forms.CharField(max_length = 200)
    roll_number = forms.IntegerField(
                     help_text = "Enter 6 digit roll number"
    password = forms.CharField(widget = forms.PasswordInput())

Now we need a View to render this form into a template. Let’s create a view,

from django.shortcuts import render
from .forms import InputForm
# Create your views here.
def home_view(request):
    context ={}
    context['form']= InputForm()
    return render(request, "home.html", context)

Finally, we will create the template where we need the form to be placed. In templates > home.html,

<form action = "" method = "post">
    {% csrf_token %}
    {{form.as_p }}
    <input type="submit" value=Submit">

Here {{ form.as_p }} will render them wrapped in <p> tags. Let’s check whether this is working acordingly or not. Open http://localhost:8000/

Let’s check the source code whether the form is rendered as a paragraph or not. By rendering as a paragraph it is meant that all input fields will be enclosed in <p> tags.
Here is the demonstration,

Other Methods

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!