You are using the HTML Django creates for you by calling form.as_p
just like this example.
What you might be looking for is the example right below it. Where you write more of the markup in the template.
It sounds like you might also be interested in this. Creating your form and specifying the classes to be added to the field using something like:
myfield = forms.CharField(
widget=forms.TextInput(attrs={'class':'myclass'}))
Now calling form.myfield
in the template will create an input text field with the class myclass
on it.