简易Django学生信息录入系统学习笔记

创建django学生信息录入系统

1,新建项目

2,编辑app目录下 models.py 

  class Stu(models.Model):

    name=models.CharField(max_lenth=32)

    age=models.IntegerField()

    sex=models.CharField(max_lenth=32)

3,执行数据库迁移

  python manage.py makemigrations

  python manage.py migrate

4,编辑app目录下views.py

  先引进 HttpResponse,redirect

     from django.shortcuts import render,HttpResponse,redirect

    再引进 models

     from app01 import models

 

  定义 show 函数

    def show(request):

      obj=models.Stu.objects.all()

      return render(request,"show.html",{"obj":obj})

5,templates 目录下建立 show.html 进行编辑

  创建table表单

  

<table border="1">
    <tr>
        <th>序号</th>
        <th>ID </th>
        <th>姓名</th>
        <th>年龄</th>
        <th>性别</th>
        <th>编辑</th>
    </tr>
    {% for i in obj %}
    <tr>
        <td>{{ forloop.counter }}</td>
        <td>{{ i.id }}</td>
        <td>{{ i.name }}</td>
        <td>{{ i.age }}</td>
        <td>{{ i.sex }}</td>
        <td>编辑</td>
    </tr>
    {% endfor %}

</table>

6,编辑urls.py

  先引入 app01 目录下 views

    from app01 import views

  再编辑路由

  urlpatterns = [

    path("show/",views.show),

]

7,此时已经可以在前端页面展示数据库信息,下一步创建添加信息功能。

8,在show.html 页面创建添加按钮,实现跳转到添加信息页面

  创建a标签

  <a href="/add/"><button>添加</botton></a>

9,在 templates 目录创建 add.html,并且创建form表单

<form action="" method="post">
    {% csrf_token %}
    姓名:<input type="text" name="name"><br> {{ msg }}
    年龄:<input type="text" name="age"><br>
    性别:<input type="text" name="sex"><br>
    <input type="submit" value="提交">
</form>

  然后继续在views.py 创建add添加功能函数

  def add(request):

    if request.method=="GET":

      return render(requst,"add.html")

    msg=""

    if request.method=="POST":

      name=request.POST.get("name")

      age=request.POST.get("age")

      sex=request.POST.get("sex")

      if name and age and sex:

        if str(age).isdigit()==True:

          if sex =="男" or sex=="女":

            obj=models.Stu.objects.filter(name=name)

            if obj:

              return HttpResponse("名字已存在")

            else:

              models.Stu.objects.create(name=name,age=age,sex=sex)

          else:

            msg="性别只能是男或女"

        else:

          msg="年龄只能是数字"

      else:

        msg="数据不能为空"

    return render(request,"add.html",{"msg"=msg})

10,添加路由

  path("add/",views.add)

11,运行项目

 

posted @ 2020-03-18 23:57  yux_W  阅读(492)  评论(0)    收藏  举报