赞
踩
目录
insert into app01_department(title) value("IT部门"),("销售部门");
结果发生报错:
原因:
建表时,没有设置中文字符(utf8)
修改:
alter table 表名 convert to character set utf8;
友情链接:
ERROR 1366 (HY000): Incorrect string value 解决方案_Acloasia的博客-CSDN博客
插入成功:
查看:
views.py:
- from django.shortcuts import render
- from app01 import models
- # Create your views here.
- def depart_list(request):
- """部门列表"""
- #1、从数据加载数据
- #qureyset类型=>列表[对象,对象,对象……]
- qureyset = models.Department.objects.all()
-
- return render(request,'depart_list.html',{'qureyset':qureyset})
depart_list.html:
-
- {% for obj in qureyset %}
- <tr>
- <th>{{ obj.id }}</th>
- <td>{{ obj.title }}</td>
- <td>
- <a class="btn btn-primary btn-xs">编辑</a>
- <a class="btn btn-danger btn-xs">删除</a>
- </td>
- </tr>
- {% endfor %}
访问首页
快速注释 :ctrl+/
快速对齐:ctrl+alt+L
先写url,
再写视图函数,
然后构建模板,
最后实现逻辑功能。
urls.py
- from django.contrib import admin
- from django.urls import path
- from app01 import views
-
- urlpatterns = [
- #部门列表
- path('depart/list/', views.depart_list),
- #部门添加
- path('depart/add/', views.depart_add),
- ]
views.py
- from django.shortcuts import render
- from app01 import models
- # Create your views here.
- def depart_list(request):
- """部门列表"""
- #1、从数据加载数据
- #qureyset类型=>列表[对象,对象,对象……]
- qureyset = models.Department.objects.all()
-
- return render(request,'depart_list.html',{'qureyset':qureyset})
-
- def depart_add(request):
- """添加部门"""
-
- return render(request,'depart_add.html')
depart_add.html
- {% load static %}
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Title</title>
- <link rel="stylesheet" href="{% static 'plugins/bootstrap-3.4.1/css/bootstrap.min.css' %}">
- <style>
- .navbar {
- border-radius: 0;
- }
- </style>
- </head>
- <body>
- <!--导航-->
- <nav class="navbar navbar-default">
- <div class="container">
- <div class="navbar-header">
- <button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
- data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
- <span class="sr-only">Toggle navigation</span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </button>
- <a class="navbar-brand" href="#">联通用户管理系统</a>
- </div>
-
- <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
- <ul class="nav navbar-nav">
- <li><a href="/depart/list">部门管理</a></li>
- <li><a href="/depart/list">Link</a></li>
- </ul>
- <ul class="nav navbar-nav navbar-right">
- <li><a href="#">登录</a></li>
- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
- aria-expanded="false">代码骑士 <span class="caret"></span></a>
- <ul class="dropdown-menu">
- <li><a href="#">个人资料</a></li>
- <li><a href="#">我的信息</a></li>
- <li role="separator" class="divider"></li>
- <li><a href="#">注销</a></li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </nav>
- <!--添加部门表单-->
- <div>
- <div class="container">
- <div class="panel panel-default">
- <div class="panel-heading">
- <h3 class="panel-title"> 新建部门 </h3>
- </div>
- <div class="panel-body">
- <form>
- <div class="form-group">
- <label> 标题 </label>
- <input type="text" class="form-control" placeholder="标题" name="title"/>
- </div>
-
- <button type="submit" class="btn btn-primary"> 提交 </button>
- </form>
- </div>
- </div>
- </div>
- </div>
-
- <script src="{% static 'js/jquery-3.6.0.min.js' %}"></script>
- <script src="{% static 'plugins/bootstrap-3.4.1/js/bootstrap.min.js' %}"></script>
- </body>
- </html>

访问网页
代码:
views.py
- def depart_add(request):
- """添加部门"""
- #1、处理请求
- if request.method == "GET":
- return render(request,'depart_add.html')
-
- #获取用户提交的POST请求(暂时不考虑title为空的情况,后面有简单方法处理)
- title = request.POST.get("title")
-
- #2、保存到数据库
- models.Department.objects.create(title=title)
-
- #3、从定向回到部门列表
- return redirect("/depart/list/")
'运行
depart_add.html
- <!--表单-->
- <form method="post"><!--action可以不写,因为不写的话提交的是当前地址-->
- {% csrf_token %}
- <div class="form-group">
- <label> 标题 </label>
- <input type="text" class="form-control" placeholder="标题" name="title"/>
- </div>
-
- <button type="submit" class="btn btn-primary"> 提交 </button>
- </form>
测试:
添加:
成功:
数据库:
urls.py
- from django.contrib import admin
- from django.urls import path
- from app01 import views
-
- urlpatterns = [
- #部门列表
- path('depart/list/', views.depart_list),
- #部门添加
- path('depart/add/', views.depart_add),
- #部门删除
- path('depart/delete/', views.depart_delete),
- ]
views.py
- def depart_delete(request):
- """删除部门"""
- #1、获取id
- #通过get请求得到url的参数实现删除http://127.0.0.1:8000/depart/delete/?nid=1
- nid = request.GET.get("nid")
- #2、删除
- models.Department.objects.filter(id=nid).delete()
- # 3、重定向回到部门列表
- return redirect("/depart/list/")
'运行
修改depart_list.html
- {% for obj in qureyset %}
- <tr>
- <th>{{ obj.id }}</th>
- <td>{{ obj.title }}</td>
- <td>
- <a class="btn btn-primary btn-xs">编辑</a>
- <a class="btn btn-danger btn-xs" href="/depart/delete/?nid={{ obj.id }}">删除</a>
- </td>
- </tr>
- {% endfor %}
测试
删除
数据库
successfully!
urls.py
- #部门修改
- #http://127.0.0.1:8000/depart/1/edit/
- #http://127.0.0.1:8000/depart/2/edit/
- #http://127.0.0.1:8000/depart/3/edit/
- #……
- path('depart/<int:nid>/edit/', views.depart_edit),
- ]
views.py
- def depart_edit(request,nid):
- """部门修改"""
- return render(request,'depart_edit.html')
'运行
depart_list.html
<a class="btn btn-primary btn-xs" href="/depart/{{ obj.id }}/edit/">编辑</a>
实现代码:
urls.py
- from django.contrib import admin
- from django.urls import path
- from app01 import views
-
- urlpatterns = [
- #部门列表
- path('depart/list/', views.depart_list),
- #部门添加
- path('depart/add/', views.depart_add),
- #部门删除
- path('depart/delete/', views.depart_delete),
- #部门修改
- #http://127.0.0.1:8000/depart/1/edit/
- #http://127.0.0.1:8000/depart/2/edit/
- #http://127.0.0.1:8000/depart/3/edit/
- #……
- path('depart/<int:nid>/edit/', views.depart_edit),
- ]

views.py
- def depart_edit(request,nid):
- """部门修改"""
- if request.method == "GET":
- # 根据nid,获取想要编辑的一行对象
- row_object = models.Department.objects.filter(id=nid).first()
- # print(row_object.id,row_object.title)
- return render(request, 'depart_edit.html', {"row_object": row_object})
-
- #如果用户传递过来一个post请求
- #1、获取用户提交的title
- title = request.POST.get("title")
- #2、根据id到数据库中的数据进行更新
- models.Department.objects.filter(id=nid).update(title=title)
- #3、重定向用户列表
- return redirect("/depart/list/")
'运行
depart_list.html
- {% for obj in qureyset %}
- <tr>
- <th>{{ obj.id }}</th>
- <td>{{ obj.title }}</td>
- <td>
- <a class="btn btn-primary btn-xs" href="/depart/{{ obj.id }}/edit/">编辑</a>
- <a class="btn btn-danger btn-xs" href="/depart/delete/?nid={{ obj.id }}">删除</a>
- </td>
- </tr>
- {% endfor %}
depart_edit.html
- {% load static %}
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Title</title>
- <link rel="stylesheet" href="{% static 'plugins/bootstrap-3.4.1/css/bootstrap.min.css' %}">
- <style>
- .navbar {
- border-radius: 0;
- }
- </style>
- </head>
- <body>
- <!--导航-->
- <nav class="navbar navbar-default">
- <div class="container">
- <div class="navbar-header">
- <button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
- data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
- <span class="sr-only">Toggle navigation</span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </button>
- <a class="navbar-brand" href="#">联通用户管理系统</a>
- </div>
-
- <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
- <ul class="nav navbar-nav">
- <li><a href="/depart/list">部门管理</a></li>
- <li><a href="/depart/list">Link</a></li>
- </ul>
- <ul class="nav navbar-nav navbar-right">
- <li><a href="#">登录</a></li>
- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
- aria-expanded="false">代码骑士 <span class="caret"></span></a>
- <ul class="dropdown-menu">
- <li><a href="#">个人资料</a></li>
- <li><a href="#">我的信息</a></li>
- <li role="separator" class="divider"></li>
- <li><a href="#">注销</a></li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </nav>
- <!--添加部门表单-->
- <div>
- <div class="container">
- <div class="panel panel-default">
- <div class="panel-heading">
- <h3 class="panel-title"> 修改部门 </h3>
- </div>
- <div class="panel-body">
- <!--表单-->
- <form method="post"><!--action可以不写,因为不写的话提交的是当前地址-->
- {% csrf_token %}
- <div class="form-group">
- <label> 标题 </label>
- <input type="text" class="form-control" placeholder="标题" name="title" value="{{ row_object.title }}"/>
- </div>
-
- <button type="submit" class="btn btn-primary"> 提交 </button>
- </form>
- </div>
- </div>
- </div>
- </div>
-
- <script src="{% static 'js/jquery-3.6.0.min.js' %}"></script>
- <script src="{% static 'plugins/bootstrap-3.4.1/js/bootstrap.min.js' %}"></script>
- </body>
- </html>

测试:
修改
完成
数据库
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。