i have an issue on csrf token incorrect or invalid. i write the {% csrf_token %} above my form still I am getting that issue. can anyone help me in this??
my HTML file code.
<h4>register page</h4>
<form method="POST" action="">
{% csrf_token %}
{{form.as_p}}
<input type="submit" name="Create User">
</form>
my view.py code
from django.shortcuts import render, redirect
from django.http import HttpResponse
from django.forms import inlineformset_factory
from django.contrib.auth.forms import UserCreationForm
from .models import *
from .forms import OrderForm
from .filters import OrderFilter
def registerPage(request):
form = UserCreationForm
if request.method=='POST':
form = UserCreationForm(request.POST)
if form.is_valid():
form.save()
context={'form':form}
return render(request, 'accounts/register.html', context)
def loginPage(request):
context={}
return render(request, 'accounts/login.html', context)
def home(request):
orders = Order.objects.all()
customers = Customer.objects.all()
total_customers= customers.count()
total_orders = orders.count()
delivered = orders.filter(status='Delivered').count()
pending = orders.filter(status='Pending').count()
context = {'orders':orders,'customers':customers, 'total_customers': total_customers,
'total_orders':total_orders,'delivered':delivered,'pending':pending }
return render(request, 'accounts/index.html', context)
def products(request):
products = Product.objects.all()
return render(request, 'accounts/products.html', {'products':products})
def customers(request, pk):
customer = Customer.objects.get(id=pk)
orders = customer.order_set.all()
orders_count =orders.count()
myFilter= OrderFilter(request.GET, queryset=orders)
orders = myFilter.qs
context={'customer': customer, 'orders': orders, 'orders_count':orders_count,'myFilter':myFilter}
return render(request, 'accounts/customers.html', context)
def createOrder(request, pk):
OrderFormSet = inlineformset_factory(Customer, Order, fields=('product', 'status'), extra=10 )
customer = Customer.objects.get(id=pk)
formset = OrderFormSet(queryset=Order.objects.none(),instance=customer)
#form = OrderForm(initial={'customer':customer})
if request.method == 'POST':
#print('Printing POST:', request.POST)
#form = OrderForm(request.POST)
formset = OrderFormSet(request.POST, instance=customer)
if formset.is_valid():
formset.save()
return redirect('/')
context = {'form':formset}
return render(request, 'accounts/order_form.html', context)
def updateOrder(request, pk):
order=Order.objects.get(id=pk)
form = OrderForm(instance=order)
if request.method == 'POST':
form= OrderForm(request.POST, instance=order)
if form.is_valid():
form.save()
return redirect('/')
context={'form':form}
return render(request,'accounts/order_form.html', context)
def deleteOrder(request, pk):
order=Order.objects.get(id=pk)
if request.method=="POST":
order.delete()
return redirect('/')
context={'item':order}
return render(request, 'accounts/delete.html', context)
enter code here
These are are my file any other files needed than I can provide you after applying csrf token still I am getting that error form is not being submitted.
Your action attribute is empty within your form:
action=""
You need to include an action, eg:
action="/somefolder/someviewname/"
or:
action="{% url 'name_of_app:name_of_view' %}"
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.