@tenlee
2015-08-19T05:00:52.000000Z
字数 3782
阅读 1752
Django Python
models.py
class User(models.Model):username = models.CharField(max_length=30)password = models.CharField(max_length=100)def __str__(self):return self.username
view.py
#!/usr/bin/env python3#coding = utf-8from django.shortcuts import renderfrom django.http import *from books.models import *from django.contrib.auth.forms import UserCreationFormfrom django.template import RequestContextfrom django import forms# Create your views here.class UserForm(forms.Form):username = forms.CharField()password = forms.CharField(widget = forms.PasswordInput)def register(request):if request.method == 'POST':uf = UserForm(request.POST)if(uf.is_valid()):uname = uf.cleaned_data['username']pword = uf.cleaned_data['password']User.objects.create(username = uname, password = pword)return HttpResponseRedirect("/login/")else:uf = UserForm()return render(request, 'books/register.html', {'uf': uf}, context_instance=RequestContext(request))def login(request):session = request.session.get('username', False)if(not session):if(request.method == 'POST'):uf = UserForm(request.POST)if(uf.is_valid()):uname = uf.cleaned_data['username']pword = uf.cleaned_data['password']user = User.objects.filter(username__exact = uname, password__exact = pword)if(user):request.session['username'] = unamereturn HttpResponse('login success')#return HttpResponseRedirect('/home/')else:return HttpResponseRedirect('/login/')else:return HttpResponseRedirect('/login/')else:uf = UserForm()return render(request, 'books/login.html', {'uf': uf}, context_instance=RequestContext(request))else:return HttpResponseRedirect('/home/')def home(request):username = request.session.get('username', 'anybody')return render(request, 'books/home.html', {'username': username})def logout(request):session = request.session.get('username', False)if session:del request.session['username']return render(request, 'books/logout.html', {'username':session})else:return HttpResponse('please login')def show_color(request):if "favorite_color" in request.session:return HttpResponse("Your favorite color is %s" %request.session["favorite_color"])else:return HttpResponse("You don't have a favorite color")def set_color(request):if "favorite_color" in request.GET:response = HttpResponse("Your favorite color is now %s"% request.GET["favorite_color"])request.session["favorite_color"] = request.GET["favorite_color"]return responseelse:return HttpResponse("You didn't give a favorite color")
settings.py添加响应的app,urls.py 添加相应的url
INSTALLED_APPS = ('bootstrap_admin', # 使bootstrap_admin'django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','gouwuche','books','polls',)from django.conf import global_settingsTEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS + ('django.core.context_processors.request',)BOOTSTRAP_ADMIN_SIDEBAR_MENU = TrueMIDDLEWARE_CLASSES = ('django.contrib.sessions.middleware.SessionMiddleware','django.middleware.common.CommonMiddleware','django.middleware.csrf.CsrfViewMiddleware','django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.auth.middleware.SessionAuthenticationMiddleware','django.contrib.messages.middleware.MessageMiddleware','django.middleware.clickjacking.XFrameOptionsMiddleware','django.middleware.security.SecurityMiddleware',)
<body><h3>Welcome to this site !</h3><p>hello <span>{{ username }}</span> </p>{% if username != 'anybody' %}<a href="/logout/">logout</a>{% else %}<a href="/login/">login</a>{% endif %}</body>
<body><form method = 'post' enctype='multipart/form-data'>{% csrf_token %}{{ uf.as_p }}<input type='submit', value='login'/></form></body>
<body><h3> Good Bye </h3>{% if username %}<a href="/login/">login</a>{% endif %}</body>
<body><form method="post" enctype='multipart/form-data'> {% csrf_token %}{{ uf.as_p }}<input type="submit" value="register"/></form></body>