1. 程式人生 > >使用django框架搭建web應用

使用django框架搭建web應用

import sqlite3

from django.shortcuts import render

# Create your views here.
import datetime
from django.http import HttpResponse
from django.shortcuts import render,render_to_response
from django.http import HttpResponseRedirect
from django.template import RequestContext
from django.views.decorators.csrf import 
csrf_protect, csrf_exempt

from login.models import User
from django import forms
#定義表單模型
class UserForm(forms.Form):
    username = forms.CharField(label='使用者名稱',max_length=100)
    password = forms.CharField(label='密     碼 ',widget=forms.PasswordInput())

#定義登錄檔單模型
class RegistForm(forms.Form):
    name = forms.CharField(label
='姓名  'max_length=100)
    tel = forms.CharField(label='電話  'max_length=100)
    username = forms.CharField(label='使用者名稱',max_length=100)
    password = forms.CharField(label='密碼  ',widget=forms.PasswordInput())


#登入
@csrf_exempt
def login(request):
    if request.method == 'POST':
        uf = UserForm(request.POST)
        if 
uf.is_valid():
            #獲取表單使用者密碼
username = uf.cleaned_data['username']
            password = uf.cleaned_data['password']
            print(username)
            print(password)
            #獲取的表單資料與資料庫進行比較
cx = sqlite3.connect("E:/test.db")
            cu = cx.cursor()
            # cu.execute(
            #     "create table users (id integer primary key,username varchar(50) ,password varchar(50) )")
            # sql= "insert into users values (null,'"+username+"','"+password+"')"
            # cu.execute(sql)
cu.execute("select username,password from users")
            all_user=cu.fetchall()
            print(all_user)
            for user in all_user:
                print(user)
                if username in user and  password in user:
                    print("登入成功。。。")
                    return render_to_response('main.html', {'username': username})
            else:
                return HttpResponseRedirect('/login/')


    else:
        uf = UserForm()

    return render_to_response('login.html', {'uf':uf})



#註冊
@csrf_exempt
def regist(request):
    print("regist...")
    if request.method == 'POST':
        uf = RegistForm(request.POST)
        if uf.is_valid():
            #獲取表單使用者密碼
username = uf.cleaned_data['username']
            password = uf.cleaned_data['password']

            #插入資料庫
cx = sqlite3.connect("E:/test.db")
            cu = cx.cursor()
            # cu.exeate table users (id integer primary key,username varchar(50) ,password varchar(50) )")
sql= "insert into users values (null,'"+username+"','"+password+"')"
cu.execute(sql)
            cu.close()
            cx.commit()
            return render_to_response('regist.html', {'hint'"註冊完成!!",'uf':uf})
    else:
        uf = RegistForm()