Django制作简单的学生表增删改查

Django制作一个简单的增删改查

创建项目Students

  1. 点击Pycharm ———> file ——> New Probject ———>Django
    在这里插入图片描述

一.资源准备

1. 数据库配置:

  1. setting文件中找到DATABAES进行修改
    在这里插入图片描述

  2. 主应用init文件下导入数据库模块

import pymysql
pymysql.install_as_MySQLdb()
  1. 媒体资源static配置,在setting下面STATIC_URL 下面进行如图配置
    在这里插入图片描述

2. 模板创建(html文件)

登陆页面模板 login
主页面显示模板 showStudent
增加模板 addStudent
删除模板 delete
查询模板show2
修改模板show3

如下图
在这里插入图片描述

二.创建应用

  1. 创建一个名为index的应用 python manage.py startapp index
  2. 在Setting文件中的INSTALLED_APPS 里面把 index添加进去
    在这里插入图片描述
    2.为index应用定义模型
from django.db import models

# Create your models here.
class Stdent(models.Model):
    id=models.CharField('学号',primary_key=True ,max_length=8)
    name=models.CharField('姓名',max_length=10)
    grade=models.CharField('班级',max_length=10)
    sex=models.CharField('性别',max_length=2)
    def __str__(self):
        return str(self.name)

1.进行生成文件并迁移生成迁移文件: python manage.py makemigrations 迁移文件: python manage.py migrate
先生成迁移,再进行迁移
2.迁移后,数据库会生成以下表
在这里插入图片描述

三.编写项目

1. 创建一个用户

1 python manage.py createsuperuser

2. 主页面显示

  1. 编写主页面的views
#显示页面
def show(request):
    student=Stdent.objects.all()
    print(type(student),student)
    return render(request,'showStudent.html',locals())

2.编写show的url

    #显示页面
    re_path('show/', views.show,name='show'), 

3.编写showd的显示页面showStudent.html

<h1>学生管理系统</h1>
    <table>
    <tr>
        <th>姓名</th>
        <th>学号</th>
        <th>班级</th>
        <th>性别</th>
    </tr>
    {
   % for stu in student %}{
   #通过定义变量去循环里面的对象#}
    <tr>
        <td>{
   {
    stu.name }}</td>
        <td>{
   {
    stu.id }}</td>        <td>{
   {
    stu.grade }}</td>
        <td>{
   {
    stu.sex }}</td>
    </tr>
    {
   % endfor %}
</table>

3. 登陆页面编写

1.编写一个跳转到登录的页面

#登录页面
def login(request):
    #跳转到html页面去输入数据
    return render(request,'login.html',locals())

在先前创好的login.html进行页面编写,这个里面的{% url ‘do_login’%}是直接引用的的主应用下的URL(do_login)的路径

<body>
    <h3 style="text-align: center">用户登录</h3>
<form  action="{% url 'do_login' %}" method="post">
    {
   % csrf_token %}{
   # 令牌,没有则会报403错误 #}
    <table class="tb" border="1" cellpadding="10" style="margin: 0px auto">
        <tr>
            <td align="center">姓名</td>
            <td><input id="name" type="text" name="name"/></td>
        </tr>
        <tr>
            <td align="center">学号</td>
            <td><input id="id" type="password" name="id"/></td>
        </tr>
        <tr align="center">
            <td colspan="2">
                <input type="submit" value="登录"/>
            </td>
        </tr>
    </table>
    <script language="JavaScript">
        login_msg={
   {
    data|safe }};
        if(login_msg !=null){
   
            alert(login_msg);
        }
    </script>
</form>
</body>

配置这个跳转视图的路径

    #登录跳转
    path('login/',views.login,name='login'),

2.编写登陆的判断

#登陆判断
def do_login(request):
    #判断请求方式
    if request.method=='POST':
        #获取登录表单提交的数据,name为名字,id为密码,name和id均为数据库的名字和学号
        name=request.POST.get('name')
        id=request.POST.get('id')
        #利用用户模型查询
        users=Stdent.objects.raw('select * from index_stdent where  name =%s and id = %s',params=[name,id])
        #判断用户是否登录成功
        if len(users) > 0:
            return redirect('../show')
        else:
            login_msg=['用户名或密码错误']
            return render(request,'login.html', {
   'data':json.dumps(login_msg)})

编写路径

#登录页面
    path('do_login/', views.do_login, name='do_login'),

4. 运行项目

  1. 运行项目,首先需要在数据库里面去添加一条信息。根据(信息里的name和id进行登陆),
    在这里插入图片描述
    2.在这里插入图片描述
    3.项目如图
    在这里插入图片描述
    输入对应的账号提交就会进入下一个页面(成功后的跳转),因为我这里写了css所以会不同,但是显示的数据会有。css后面会共享出来
    在这里插入图片描述

增加数据

1.首先定义一个跳转views视图skip

  1. 定义跳转到添加数据页面的View视图skip
#跳转页面
def skip(request):
    student = Stdent.objects.all()
    print(type(student), student)
    return render(request,'addStudent.html',locals())

2.定义跳转视图skip的路径

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值