django - Form Field not displaying in Template -


i'm new django , having bit of trouble forms. i'm trying display single text input users can enter phone number , sent email. i'm going have stored in postgre database want basics down first. submit button being displayed text input field isn't. tried putting forms.py inside of views.py see if phoneform() function , file wasn't importing didn't anything.

views.py

from django.shortcuts import render, redirect django.http import httpresponse, httpresponseredirect django.core.mail import send_mail  .forms import phoneform  # create views here.  def index(request):     # render index.html template context dictionary     return render(request, "index.html")  def get_number(request):     # if post request need process form data     if request.method == 'post':         #create form instance         form = phoneform(request.post)         if form.is_valid():             cd = form.cleaned_data             send_mail(                 cd['phone_form'],                 ['siteadmin@example.com'],             )             return httpresponseredirect('/thanks/')     else:         form = phoneform()     return render(request, 'index.html', {'form': form}) 

index.html

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

forms.py

from django import forms  class phoneform(forms.form):     phone_form = forms.charfield(widget=forms.textinput()) 

edit: adding urls.py (the 1 in app)

from django.conf.urls import include, url django.contrib import admin  . import views  urlpatterns = [     url(r'^$', views.index, name='index'),     url(r'^$', views.get_number, name='get_number'), ] 

both urls in urls.py have same expression r'^$' , django looks them in order, therefore first 1 (index) selected. links index view not get_number view. means form not passed template , form not show up.

to solve move url(r'^$', get_number), top of 'urlpatterns'.


Comments

Popular posts from this blog

sql - VB.NET Operand type clash: date is incompatible with int error -

SVG stroke-linecap doesn't work for circles in Firefox? -

python - TypeError: Scalar value for argument 'color' is not numeric in openCV -