简体   繁体   中英

CSRF verification failed. Request aborted. I kept the ta tag {% csrf_token %} still iam getting this

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM