数据库:python自带数据库
开发系统:windows ,pycharm
主要实现功能:
1)登录与注册页面
2)添加页面
3)更新页面
4)查询页面
5)删除页面
6)账号页面
1)登录与注册页面
对表单数据进行验证( 从数据库验证)账号密码都存在就登录进入后台;否则就提示账号密码错误
点击注册按钮进入注册页面:账号密码是必填项,没有按要求填写就提示输入,按layout推出注册
2)添加页面
3)更新页面
4)查询页面
5)删除页面
6)账号页面
第二部分:
所有的文件中的目录:
由于代码较多:所以就上部分代码:
数据库字段:
from django.db import models
# Create your models here.
class Info(models.Model):
num = models.IntegerField(primary_key=True)
name = models.CharField(max_length=50)
classroom = models.CharField(max_length=60)
school = models.CharField(max_length=60)
number = models.IntegerField()
class Register(models.Model):
name = models.CharField(max_length=20)
pwd = models.CharField(max_length=20)
tel = models.CharField(max_length=20)
campus = models.CharField(max_length=20)
根目录下的urls:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('xuesheng/', include('app1.urls')),
app下的urls
from django.contrib import admin
from django.urls import path
from . import views
urlpatterns = [
path('index.html', views.index, name='search'),
path('insert.html', views.add_index, name='insert'),
path('update.html', views.update_search_index, name='update'),
path('update_search.html', views.update_index, name='update_search'),
path('del.html', views.del_index, name='del'),
path('del_search.html', views.del_search_index, name='del_search'),
path('login.html', views.login, name='login'),#登录页面url
path('register.html', views.login_register, name='register'), #注册页面
path('register_get', views.register_get, name='register_get'),#注册信息提交
path('acount.html', views.acount, name='acount')
]
app下的MTV中重要的views:
from django.shortcuts import render, redirect
from app1.models import Info, Register
#查询
def index(request):
infos = Info.objects.all()
return render(request, 'index.html',locals())
#添加数据
def add_index(request):
# 获取表单参数
result = {}
if request.POST:
num = int(request.POST['xuehao'])
name = request.POST['name']
classroom = request.POST['xueyuan']
school = request.POST['banji']
number = request.POST['average']
Info.objects.create(num=num, name=name, classroom=classroom, school=school, number=number)
result['ids'] = name
return render(request, 'add.html', result)
#更新数据时根据姓名查找
def update_search_index(request):
infos = {}
if request.method == 'POST':
info = request.POST['name']
list = Info.objects.filter(name=info)
for li in list:
info_s = []
info_s.append(li)
infos['inf'] = info_s
infos['xingm'] = info #初始化姓名表单
return render(request, 'update.html', infos)
#根据姓名更新个人信息
def update_index(request):
content = {}
if request.method == 'POST':
info = request.POST['xingming'] #获取表单数据
num = int(request.POST['xuehao'])
classroom = request.POST['xueyuan']
school = request.POST['banji']
number = request.POST['average']
#按姓名查询数据库 更新学生信息
Info.objects.filter(name=info).update(num=num, classroom=classroom, school=school, number=number)
content['message'] = "数据修改成功"
return render(request, 'update.html', content)
#按姓名删除数据
#显示待删除的数据
def del_search_index(request):
infos = {}
if request.method == 'POST':
info = request.POST['name']
list = Info.objects.filter(name=info)
for li in list:
info_s = []
info_s.append(li)
infos['inf'] = info_s
infos['xingm'] = info # 初始化姓名表单
return render(request, 'del.html', infos)
#删除数据
def del_index(request):
content = {}
if request.method == "POST":
info = request.POST['name'] # 获取表单数据
Info.objects.filter(name=info).delete()#删除单条数据
content['message'] = "删除成功"
return render(request, 'del.html', content)
#登录首页
def login(request):
return render(request, 'login.html')
#点击注册进行注册
def login_register(request):
if request.POST:
if 'resg' in request.POST: #处理表单多键 判断按键的name属性
return render(request, 'register.html')
else:
usr = request.POST['username']
pwsd = request.POST['pwd']
if usr and pwsd:
user = Register.objects.filter(name=usr) #返回的是queryset列表形式
for p in user:
user = p.name
password = p.pwd
if usr == user and pwsd == password:
return redirect('index.html') #验证成功跳转到首页否则提示错误
else:
content = {'tip': '账号或密码错误'}
return render(request, 'login.html', locals())
else:
content = {'tip': '请输入账号和密码'}
return render(request, 'login.html', locals())
#获取注册信息
def register_get(request):
if request.POST:
name = request.POST['mingcheng']
mima = request.POST['mima']
tel = request.POST['tel']
campus = request.POST['campus']
if name and mima:
Register.objects.create(name=name, pwd=mima, tel=tel, campus=campus)
content = {'tip': '注册成功'}
else:
content = {'tip': '请输入账号和密码'}
return render(request, 'register.html', locals())
#查询注册账户
def acount(request):
infos = Register.objects.all()
return render(request, 'acount.html', locals())
网页代码没上载上来,实在有点多,有需要的朋友可以留言我发给你。