一、首先上代码、关于类视图:
1 class register(View): 2 #template_name = "templates/register.html" 3 def get(self,request): 4 return render_to_response("register.html") 5 def post(self,request): 6 username = request.POST.get("user") 7 password = request.POST.get("pswd") 8 emailstr = request.POST.get("email") 9 if None in [username,password,emailstr]: 10 return HttpResponseRedirect("/myapp1/register") 11 else: 12 password = gethash(password) 13 gender = request.POST.get("gender") 14 if gender not in [u"M",u"F"] and gender != None: 15 return HttpRequestRedirect("/myapp1/register") 16 userroll = int(request.POST.get("roll")) 17 if userroll not in [0,1] and userroll != None: 18 return HttpResponseRedirect("/myapp1/register") 19 try: 20 if userroll != None and gender != None: 21 LoginUser.objects.create(username=username,password=password,emailstr=emailstr,gender=gender,userroll=userroll) 22 elif userroll == None and gender != None: 23 LoginUser.objects.create(username=username,password=password,emailstr=emailstr,gender=gender) 24 else: 25 LoginUser.objects.create(username=username,password=password,emailstr=emailstr) 26 except Exception,ex: 27 print ex 28 return HttpResponseRedirect("/myapp1/register") 29 return HttpResponseRedirect("/myapp1/login")
要注意的是在对应urls.py的配置文件应该这么写:
1 from django.conf.urls import include, url 2 from django.contrib import admin 3 from myapp1 import views 4 5 urlpatterns = [ 6 # Examples: 7 # url(r'^$', 'mysite1.views.home', name='home'), 8 # url(r'^blog/', include('blog.urls')), 9 10 url(r'^admin/', include(admin.site.urls)), 11 #url(r'^captcha/', include(captcha.urls)), 12 url(r'^myapp1/', include("myapp1.urls")), 13 #url(r'^register/',views.register.as_view()) 14 ]
1 from django.conf.urls import include, url 2 from myapp1 import views 3 #from myapp1.views import AccountRegister 4 5 urlpatterns = [ 6 # Examples: 7 # url(r'^$', 'mysite1.views.home', name='home'), 8 # url(r'^blog/', include('blog.urls')), 9 url(r'^login/', "myapp1.views.login"), 10 url(r'^mainpage/', "myapp1.views.main"), 11 url(r'^verifycode/', "myapp1.views.verify"), 12 url(r'^update/', "myapp1.views.update"), 13 url(r'^register/',views.register.as_view()),#注意没有引号没有引号没有引号 14 ]
然后就可以啦,是不是很简单呢!
二、关于数据的更新和删除操作:
1 @logincheck.login_need 2 def update(request): 3 if request.method != 'POST': 4 return render_to_response("update.html") 5 else: 6 username = request.POST["user"] 7 password = request.POST["pswd"] 8 emailstr = request.POST["email"] 9 gender = request.POST["gender"] 10 if None in [username,password,emailstr]: 11 return render_to_response("update.html") 12 else: 13 password = gethash(password) 14 try: 15 print type(gender) 16 print repr(gender) 17 if gender in [u"M",u"F"]: 18 LoginUser.objects.filter(username=username,password=password,emailstr=emailstr).update(gender=gender) 19 else: 20 return render_to_response("update.html") 21 except Exception,ex: 22 return render_to_response("update.html") 23 return HttpResponseRedirect("/myapp1/mainpage?name=%s"%username)
核心代码部分:
1 LoginUser.objects.filter(username=username,password=password,emailstr=emailstr).update(gender=gender)
如果是删除就是这样啦:
1 LoginUser.objects.filter(username=username,password=password,emailstr=emailstr).delete()
三、关于一些约束条件:
1 #1、自增主键: 2 id = models.AutoField(primary_key=True) 3 #2、非空 4 blank=False 5 #3、唯一 6 unique=True 7 #4、默认值: 8 default= xxx
四、关于选项的数据库字段类型:
1 class LoginUser(models.Model): 2 gender_type = ( 3 (u"F",u"female"), 4 (u"M",u"male") 5 ) 6 userroll = models.IntegerField(default=1) 7 username = models.CharField(max_length=20) 8 password = models.CharField(max_length=64) 9 emailstr = models.CharField(max_length=50) 10 gender = models.CharField(max_length=1,choices=gender_type,default="M")