python实现注册功能_Python Django 实现简单注册功能过程详解

项目创建略,可参考Python Django Vue 项目创建。

目录结构如下

编辑views.py

from django.shortcuts import render

# Create your views here.

from django.http import HttpResponse

from django.shortcuts import render

from common.DBHandle import DataBaseHandle

import time

def djangoHello(request):

return HttpResponse('Hello Django!')

def index(request):

return render(request,'index.html')

def login(request):

print('login_func')

usn = request.POST['username']

pwd = request.POST['password']

host = '127.0.0.1'

username = 'username'

password = 'password'

database = 'dbname'

port = 3306

# 实例化 数据库 连接

DbHandle = DataBaseHandle(host, username, password, database, port)

localTime = time.localtime(time.time())

create_time = time.strftime("%Y-%m-%d %H:%M:%S", localTime)

sql = "insert into user(username,password,create_time) values ('%s','%s','%s')" % (usn, pwd, create_time)

DbHandle.insertDB(sql)

DbHandle.closeDb()

return render(request,'login.html')

接下来编辑urls.py

"""FirstWeb URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:

https://docs.djangoproject.com/en/2.1/topics/http/urls/

Examples:

Function views

1. Add an import: from my_app import views

2. Add a URL to urlpatterns: path('', views.home, name='home')

Class-based views

1. Add an import: from other_app.views import Home

2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')

Including another URLconf

1. Import the include() function: from django.urls import include, path

2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))

"""

from django.contrib import admin

from django.urls import path

from fistWeb import views

urlpatterns = [

path('admin/', admin.site.urls),

path('hello/',views.djangoHello),

path('index/',views.index),

path('login/',views.login),

]

在应用下创建templates 文件夹

并创建html文件 index.html

FirstWeb

信息注册{% csrf_token %}

用户名:

密 码:

login.html

FirstWeb-登录

您好,您已注册成功!

介绍一下添加的common文件

添加一个数据库封装的类。

# FileName : DBHandle.py

# Author : Adil

# DateTime : 2018/11/29 2:03 PM

# SoftWare : PyCharm

import pymysql

# username : adil

# password : helloyyj

class DataBaseHandle(object):

''' 定义一个 MySQL 操作类'''

def __init__(self,host,username,password,database,port):

'''初始化数据库信息并创建数据库连接'''

# 下面的赋值其实可以省略,connect 时 直接使用形参即可

self.host = host

self.username = username

self.password = password

self.database = database

self.port = port

self.db = pymysql.connect(self.host,self.username,self.password,self.database,self.port,charset='utf8')

# 这里 注释连接的方法,是为了 实例化对象时,就创建连接。不许要单独处理连接了。

#

# def connDataBase(self):

# ''' 数据库连接 '''

#

# self.db = pymysql.connect(self.host,self.username,self.password,self.port,self.database)

#

# # self.cursor = self.db.cursor()

#

# return self.db

def insertDB(self,sql):

''' 插入数据库操作 '''

self.cursor = self.db.cursor()

try:

# 执行sql

self.cursor.execute(sql)

# tt = self.cursor.execute(sql) # 返回 插入数据 条数 可以根据 返回值 判定处理结果

# print(tt)

self.db.commit()

print('执行成功')

except:

# 发生错误时回滚

self.db.rollback()

print('执行失败')

finally:

self.cursor.close()

def deleteDB(self,sql):

''' 操作数据库数据删除 '''

self.cursor = self.db.cursor()

try:

# 执行sql

self.cursor.execute(sql)

# tt = self.cursor.execute(sql) # 返回 删除数据 条数 可以根据 返回值 判定处理结果

# print(tt)

self.db.commit()

except:

# 发生错误时回滚

self.db.rollback()

finally:

self.cursor.close()

def updateDb(self,sql):

''' 更新数据库操作 '''

self.cursor = self.db.cursor()

try:

# 执行sql

self.cursor.execute(sql)

# tt = self.cursor.execute(sql) # 返回 更新数据 条数 可以根据 返回值 判定处理结果

# print(tt)

self.db.commit()

except:

# 发生错误时回滚

self.db.rollback()

finally:

self.cursor.close()

def selectDb(self,sql):

''' 数据库查询 '''

self.cursor = self.db.cursor()

try:

self.cursor.execute(sql) # 返回 查询数据 条数 可以根据 返回值 判定处理结果

data = self.cursor.fetchall() # 返回所有记录列表

print(data)

# 结果遍历

for row in data:

sid = row[0]

name = row[1]

# 遍历打印结果

print('sid = %s, name = %s'%(sid,name))

except:

print('Error: unable to fecth data')

finally:

self.cursor.close()

def closeDb(self):

''' 数据库连接关闭 '''

self.db.close()

if __name__ == '__main__':

DbHandle = DataBaseHandle('127.0.0.1','username','password','dbname',3306)

sql = "insert into JdwSpider(image_name,image_url,Spider_time) values ('%s','%s','%s')" % (

'1', '2', '2018-12-04 15:25:21')

DbHandle.insertDB(sql)

# DbHandle.insertDB('insert into test(name) values ("%s")'%('FuHongXue'))

# DbHandle.insertDB('insert into test(name) values ("%s")'%('FuHongXue'))

# DbHandle.selectDb('select * from test')

# DbHandle.updateDb('update test set name = "%s" where sid = "%d"' %('YeKai',22))

# DbHandle.selectDb('select * from test')

# DbHandle.insertDB('insert into test(name) values ("%s")'%('LiXunHuan'))

# DbHandle.deleteDB('delete from test where sid > "%d"' %(25))

# DbHandle.selectDb('select * from test')

DbHandle.closeDb()

以上代码实现了一个简单的注册页面,并将注册信息存放到数据库表中。

启动项目演示

打开浏览器输入url:http://127.0.0.1:8000/index/

点击注册提交按钮,页面跳转如下

查看数据库表,可以看到新增的用户信息。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值