js ajax post 404,javascript - django ajax POST 404 not found - Stack Overflow

Recently I learned ajax but now i am trying to implement in my fjango project but it is not working.

signup.js

$(document).ready(function(){

$(document).on('submit', '#signup', function(e){

e.preventDefault();

var email = $('input[name="email"]').val();

var name = $('input[name="name"]').val();

var password1 = $('input[name="password1"]').val();

var password2 = $('input[name="password2"]').val();

var url = '/signup'

var req = new XMLHttpRequest();

req.onreadystatechange = function() {

if (this.readyState == 4 && this.status == 200) {

if(req.responseText == 'true' ){

alert('account created')

}

}

};

req.open("POST", url, true);

req.send();

})

});

urls.py

urlpatterns = [

path('',login_required(StockView.as_view(), login_url='login'), name='stock'),

path('login/', LoginView.as_view(), name='login'),

path('signup/', SignupView.as_view(), name='signup'),

path('logout',LogoutView.as_view(), name='logout'),

path('addproduct/', login_required(AddProduct.as_view(), login_url='login'), name='addproduct'),

path('update/', login_required(EditProduct.as_view(), login_url='login'), name='editproduct'),

path('delete/', login_required(DeleteProducts.as_view(), login_url='login'), name='deleteproducts'),

view.py

class SignupView(TemplateView):

template_name = 'stock/signup.html'

def get(self, request):

form = SignUpForm()

args = {'form': form}

return render(request, self.template_name, args)

def post(self, request):

form = SignUpForm(request.POST)

if form.is_valid():

form.save()

username = form.cleaned_data.get('username')

raw_password = form.cleaned_data.get('password1')

user = authenticate(username=username, password=raw_password)

login(request, user)

return redirect('home')

else:

args = {'form': form}

return render(request, self.template_name, args)

form.py

class SignUpForm(UserCreationForm):

username = forms.CharField(max_length=30,widget=forms.TextInput(attrs={'class':'form-control','name':'name'}))

email = forms.EmailField(widget=forms.EmailInput(attrs={'class':'form-control'}))

password1 = forms.CharField(widget=forms.PasswordInput(attrs={'class':'form-control'}),help_text='Password Should Match',label='Password')

password2 = forms.CharField(widget=forms.PasswordInput(attrs={'class':'form-control'}),label='Password Confirmation')

class Meta:

model = AppUser

fields = ('username', 'email', 'password1', 'password2' )

template.html

{% csrf_token %}

{{ form.as_p }}

Signup

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值