Азиз Азиз
Азиз Азиз

Reputation: 33

Django forms not uploading in the template

Django forms not rendiring in the index page but when I created a new html file then it worked

forms.py

class UserRegisterForCourse(forms.ModelForm):
    class Meta:
        model = RegisterForCourse
        fields = ['first_name', 'last_name', 'subject', 'phone']

view.py

def about_course(request):
    if request.method == 'POST':
        form = UserRegisterForCourse(request.POST)
        if form.is_valid():
            form.save()
            subject = form.cleaned_data.get('subject')
            messages.success(request, f'you have been successfully registered for {subject}')
        return redirect('index')
    else:
        form = UserRegisterForCourse()
    return render(request, 'goal/index.html', {'form':form})

in index.html

<form action="{% url 'about' %}" method="POST" role="form">
    {% csrf_token %}
    {{ form }}  
</form>

any idea? It needs to work in index page what am I missing?

Upvotes: 1

Views: 75

Answers (1)

Anoop Kumar
Anoop Kumar

Reputation: 912

please check below flow

forms.py

from django.contrib.auth.models import User
from django import forms

class UserForm(forms.ModelForm): #Classname

    class Meta:
        model = User
        fields = ['first_name', 'last_name']

in views.py

from django.contrib.auth.models import User
from .forms import UserForm # Add form which is written in your forms.py
def index(request):
    form = UserForm() #Initiate 
    return render(request, 'index.html', {'form': form})

index.html

<form action="{% url 'about' %}" method="POST" role="form">
    {% csrf_token %}
    {{ form }}
</form>

Upvotes: 1

Related Questions