目录
注册app01
写视图函数
新建templates文件夹,在里面新建index.html
写路由,访问我们写的index页面
开始在models里面创建表
在settings.py里面写好迁移数据库的代码,迁移数据库
迁移数据库代码
在数据库里面添加数据
添加添加功能
编辑 实现删除功能
源码:
注册app01
写视图函数
新建templates文件夹,在里面新建index.html
写路由,访问我们写的index页面
开始在models里面创建表
在settings.py里面写好迁移数据库的代码,迁移数据库
记得在与settings.py同级的_init_.py写下如下代码,否则迁移报错
迁移数据库代码
python manage.py makemigrations
python manage.py migrate
在数据库里面添加数据
写视图函数student_list
获取数据库全部用户信息,再渲染,返回给用户
创建student_list.html,将表中的字段显示在表中
写路由,访问页面
显示成功
添加添加功能
写student_add函数,请求方法必须是GET才能返回页面
接下来写增加的页面,表单里面的action是路由,但是前面和后面都必须有/,不然会出现page nor found!错误 /student/add/
如果不写{% csrf_token %}就会出现forbidden错误
访问页面
在student_list添加然后跳转到本页面
实现删除功能
先写student_delete函数,把请求获取到的id赋值给sid,删除id=sid那一行,写法为....../student/delete/?sid=3 意思为删除id为3的那一整行
写路由,务必按照student/delete/这个写法写,后面有个反斜杠,如果是delete,就必须加一个/,不然就会出现page not found!
然后在student_list每一行后面添加删除链接,链接不能有空格,有空格则出现page not found错误!
Over!
源码:
student_add.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/student/add" method="post">
{% csrf_token %}
<input type="text" name="name" placeholder="姓名"><br>
<input type="text" name="age" placeholder="年龄"><br>
<input type="text" name="number" placeholder="电话"><br>
<input type="text" name="email" placeholder="邮箱"><br>
<input type="submit" value="提交">
</form>
</body>
</html>
student_list.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>学生信息表</h1>
<a href="/student/add">点击添加学生</a>
<table border="2">
<thead>
<tr>
<th>姓名</th>
<th>年龄</th>
<th>电话</th>
<th>邮箱</th>
</tr>
</thead>
<tbody>
{% for obj in data %}
<tr>
<td>{{ obj.name }}</td>
<td>{{ obj.age }}</td>
<td>{{ obj.number }}</td>
<td>{{ obj.email }}</td>
<td><a href='/student/delete/?sid={{ obj.id }}'>删除</a></td>
</tr>
{% endfor %}
</tbody>
</table>
</body>
</html>
models:
from django.db import models
# Create your models here.
class studentInfo(models.Model):
name = models.CharField(max_length=32)
age = models.CharField(max_length=32)
number = models.CharField(max_length=32)
email = models.CharField(max_length=32)
views:文章来源:https://www.toymoban.com/news/detail-478517.html
from django.http import HttpResponse
from django.shortcuts import render, redirect
# Create your views here.
from app01.models import studentInfo
def index(request):
return render(request, 'index.html')
def student_list(request):
data_list = studentInfo.objects.all()
return render(request, 'student_list.html', {'data': data_list})
def student_add(request):
if request.method == 'GET':
return render(request, 'student_add.html')
name = request.POST.get('name')
age = request.POST.get('age')
number = request.POST.get('number')
email = request.POST.get('email')
studentInfo.objects.create(name=name, age=age, number=number, email=email)
return redirect('/student/list/')
def student_delete(request):
sid = request.GET.get("sid")
studentInfo.objects.filter(id=sid).delete()
return redirect('/student/list')
urls:文章来源地址https://www.toymoban.com/news/detail-478517.html
from django.contrib import admin
from django.urls import path
from app01 import views
urlpatterns = [
path('admin/', admin.site.urls),
path('index/',views.index),
path('student/list/',views.student_list),
path('student/add/',views.student_add),
path('student/delete/',views.student_delete),
]
到了这里,关于2023年Django大二下学期期末复习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!