我正在学习Django。我正在使用自定义用户注册。我已经创建了模型,表单等。我正在尝试使用ajax和csrf。
这是我的帐户应用的models.py文件
from django.db import models
class User(models.Model):
uname = models.CharField(max_length=25)
email = models.CharField(max_length=200)
passw = models.CharField(max_length=1000)
def __unicode__(self):
return self.uname
class UserDetails(models.Model):
fname = models.CharField(max_length=50)
lname = models.CharField(max_length=50)
uid = models.IntegerField()
def __unicode__(self):
return self.uid
这是我的forms.py文件,
from django import forms
from Accounts.models import User
class UserForm(forms.ModelForm):
class Meta:
model = User
这是我的views.py文件,
from django.http import HttpResponse, Http404
from django.shortcuts import render, render_to_response
import json
from django.core.context_processors import csrf
import sys
from Accounts.forms import UserForm
def accounts_register(request):
return render(request, "accounts/register.html")
def accounts_ajax_register(request):
if request.method == "POST":
form = UserForm(request.POST)
response_data = {}
if form.is_valid():
try:
form.save()
response_data = {'error': 'false', 'message': 'Success'}
except:
e = sys.exc_info()[0]
response_data = {'error': 'true', 'message': e}
else:
response_data = {'error': 'true', 'message': 'Invalid registration. Please refresh page and try again.'}
return HttpResponse(json.dumps(response_data), content_type="application/json")
else:
raise Http404
首先,我面临的问题是我无法像这样导入,
from models import User
我需要指定
from Accounts.models import User
其他的事情是,如果我删除我的account_ajax_reg方法并导入表单行,它将呈现html页面。但添加该功能后,特别是在导入该文件后,它显示500服务器错误。任何人都可以帮助我吗?
Thanx你的时间。