未使用{{useform}}而使用{{ userform.password }}形式便於後期css樣式css
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="." method="POST"> {% csrf_token %} <div>username: <input type="text" name="username"> </div> <div>password: {{ userform.password }}</div> <div><input type="submit" value="註冊" name="reg"> <input type="submit" value="登錄" name="login"> </div> </form> </body> </html>
#/usr/bin/env python3 from django import forms class UserForm(forms.Form): username=forms.CharField() password=forms.CharField()
from django.db import models class User(models.Model): username=models.CharField(max_length=30) password=models.CharField(max_length=30) def __str__(self): return self.username
from django.shortcuts import render from django.views.decorators.cache import cache_page from .models import User # Create your views here. from django.http import HttpResponse from django.http import HttpResponseRedirect from djapp.forms import UserForm def user(request): if request.method == 'POST': userform=UserForm(request.POST) if userform.is_valid(): if request.POST.get('reg'): username=userform.cleaned_data['username'] password=userform.cleaned_data['password'] User.objects.create(username=username,password=password) # user=User() # user.username=username # user.password=password # user.save() return HttpResponse("login 註冊%s"%username) else: if request.session.get('user_id') == 3: return HttpResponse("session 登錄") else: try: user=User.objects.get(username=request.POST.get('username',None)) except Exception as e: print(e) return HttpResponse("找不到用戶") if user.password == request.POST.get('password'): request.session['user_id']=user.id return HttpResponse("登錄成功") else: return HttpResponse("登錄失敗") else: userform=UserForm() return render(request,'djapp/user.html',{'userform':userform})
cookie保存sessionid
html