2017网站设计如何报价,泸州住房和城乡建设厅网站,沈阳 网站建设,wordpress 网银支付本人初学#xff0c;写完代码在此记录和复盘
在创建和注册完APP之后#xff08;我的命名是employees#xff09;#xff0c;编写models.py文件创建表 手动插入了几条数据 1.部门查询
urls.py和views.py在编写之前#xff0c;都要注意导入对应的库
urls.py#xff1a;…本人初学写完代码在此记录和复盘
在创建和注册完APP之后我的命名是employees编写models.py文件创建表 手动插入了几条数据 1.部门查询
urls.py和views.py在编写之前都要注意导入对应的库
urls.pyfrom employees import views 用于导入视图函数
views.pyfrom employees import models 用于导入表 def depart_list(request):# 从数据库中获取所有部门信息返回一个查询集queryset models.Department.objects.all()# 渲染 depart_list.html 模板传递查询集数据到模板中return render(request, depart_list.html, {queryset: queryset})在templates文件夹中创建对应的html文件 depart_list.html
{% load static %}!DOCTYPE html
html langen
headmeta charsetUTF-8titleTitle/titlelink relstylesheet href{% static plugins/bootstrap-5.3.3/css/bootstrap.css %}link relstylesheet href{% static plugins/font-awesome-4.7.0/css/font-awesome.css %}style.c1{margin-top: 20px;margin-bottom: 20px;}/style/head
bodynav classnavbar navbar-expand-lg bg-lightdiv classcontainera classnavbar-brand href#部门管理系统/abutton classnavbar-toggler typebutton data-bs-togglecollapsedata-bs-target#navbarSupportedContent aria-controlsnavbarSupportedContentaria-expandedfalse aria-labelToggle navigationspan classnavbar-toggler-icon/span/buttondiv classcollapse navbar-collapse idnavbarSupportedContentul classnavbar-nav me-auto mb-2 mb-lg-0li classnav-itema classnav-link active aria-currentpage href/depart/list/部门首页/a/lili classnav-itema classnav-link href/depart/add部门管理/a/liform classd-flexinput classform-control me-2 typesearch placeholderSearch aria-labelSearchbutton classbtn btn-outline-success typesubmitSearch/button/form/ul/divul classnavbar-nav me-auto mb-2 mb-lg-0li classnav-itema classnav-link active aria-currentpage href#登录/a/lili classnav-itema classnav-link href#注册/a/lili classnav-item dropdowna classnav-link dropdown-toggle href# idlog rolebuttondata-bs-toggledropdown aria-expandedfalse豆腐乳/aul classdropdown-menu aria-labelledbynavbarDropdownlia classdropdown-item href#个人资料/a/lilia classdropdown-item href#我的账户/a/lilia classdropdown-item href#修改密码/a/lilihr classdropdown-divider/lilia classdropdown-item href#注销/a/li/ul/li/ul/div
/navdivdiv classcontainerdiv classc1a classbtn btn-success href/depart/add新建部门/a/divdiv classcard c1div classcard-headeri classfa fa-list aria-hiddentrue/i部门列表/divdiv classcard-body p-0div classtable-responsivetable classtable table-striped table-bordered table-hover mb-0theadtrthID/thth名称/thth操作/th/tr/theadtbody{% for obj in queryset %}trth scoperow{{ obj.id }}/thtd{{ obj.title }}/tdtda classbtn btn-primary btn-xs href/depart/{{ obj.id }}/edit/编辑/aa classbtn btn-danger btn-xs href/depart/delete/?nid{{ obj.id }}删除/a/td/tr{% endfor %}/tbody/table/div/div/divnav aria-labelPage navigation exampleul classpaginationli classpage-itema classpage-link href# aria-labelPreviousspan aria-hiddentruelaquo;/span/a/lili classpage-itema classpage-link href#1/a/lili classpage-itema classpage-link href#2/a/lili classpage-itema classpage-link href#3/a/lili classpage-itema classpage-link href# aria-labelNextspan aria-hiddentrueraquo;/span/a/li/ul/nav/div
/divscript src{% static plugins/bootstrap-5.3.3/js/bootstrap.bundle.min.js %}/script/body
/html 视图函数 depart_list 查询数据库中的部门表Department将所有部门数据传递给模板 depart_list.html。 模板循环 遍历 queryset 中的每个部门对象生成表格行显示部门 ID、名称并提供“编辑”和“删除”操作链接。 编辑跳转至 /depart/{id}/edit/ 删除跳转至 /depart/delete/?nid{id} 2.部门增加 def depart_add(request):# 处理 GET 请求返回添加部门的页面if request.method GET:return render(request, depart_add.html)# 处理 POST 请求获取表单中的部门名称并保存到数据库title request.POST.get(title) # 从 POST 请求中获取部门名称models.Department.objects.create(titletitle) # 创建新部门# 添加成功后重定向到部门列表页面return redirect(/depart/list)
depart_list.html
{% load static %}!DOCTYPE html
html langen
headmeta charsetUTF-8titleTitle/titlelink relstylesheet href{% static plugins/bootstrap-5.3.3/css/bootstrap.css %}link relstylesheet href{% static plugins/font-awesome-4.7.0/css/font-awesome.css %}style.c1{margin-top: 20px;margin-bottom: 20px;}/style/head
bodynav classnavbar navbar-expand-lg bg-lightdiv classcontainera classnavbar-brand href#部门管理系统/abutton classnavbar-toggler typebutton data-bs-togglecollapsedata-bs-target#navbarSupportedContent aria-controlsnavbarSupportedContentaria-expandedfalse aria-labelToggle navigationspan classnavbar-toggler-icon/span/buttondiv classcollapse navbar-collapse idnavbarSupportedContentul classnavbar-nav me-auto mb-2 mb-lg-0li classnav-itema classnav-link active aria-currentpage href/depart/list/部门首页/a/lili classnav-itema classnav-link href/depart/add部门管理/a/liform classd-flexinput classform-control me-2 typesearch placeholderSearch aria-labelSearchbutton classbtn btn-outline-success typesubmitSearch/button/form/ul/divul classnavbar-nav me-auto mb-2 mb-lg-0li classnav-itema classnav-link active aria-currentpage href#登录/a/lili classnav-itema classnav-link href#注册/a/lili classnav-item dropdowna classnav-link dropdown-toggle href# idlog rolebuttondata-bs-toggledropdown aria-expandedfalse豆腐乳/aul classdropdown-menu aria-labelledbynavbarDropdownlia classdropdown-item href#个人资料/a/lilia classdropdown-item href#我的账户/a/lilia classdropdown-item href#修改密码/a/lilihr classdropdown-divider/lilia classdropdown-item href#注销/a/li/ul/li/ul/div
/navdivdiv classcontainerdiv classc1a classbtn btn-success href/depart/add新建部门/a/divdiv classcard c1div classcard-header新建部门/divdiv classcard-bodyform methodpost{% csrf_token %}div classmb-3label forinputtitle classform-label标题/labelinput typetext classform-control idinputtitle placeholder标题 nametitle/divbutton typesubmit classbtn btn-primary提交/button/form/div/div/div
/divscript src{% static plugins/bootstrap-5.3.3/js/bootstrap.bundle.min.js %}/script/body
/html
运行 3.部门删除 def depart_delete(request):# 获取请求中传递的 nid 参数即要删除的部门 IDnid request.GET.get(nid)# 根据 nid 参数过滤部门对象并删除models.Department.objects.filter(idnid).delete()# 删除完成后重定向回部门列表页面return redirect(/depart/list)depart_delete 函数效果运行/depart/delete/?nid1就会删除id为1的数据
当用户点击“删除”按钮时会触发 depart_delete 函数该函数根据部门的 ID 删除对应的部门数据并重定向回部门列表页面。
运行 4.部门修改 int:nid这是一个捕获组它告诉 Django 该部分的路径将匹配一个整数并将这个整数作为参数传递给视图函数。在这里nid 是变量名表示部门的 ID。
def depart_edit(request, nid):# 如果请求方法是 GET即用户访问编辑页面获取对应部门的信息if request.method GET:# 根据部门 ID 获取部门对象并将其传递给模板row_object models.Department.objects.filter(idnid).first()return render(request, depart_edit.html, {row_object: row_object})# 如果请求方法是 POST即用户提交表单更新部门信息title request.POST.get(title)# 更新数据库中对应部门的标题models.Department.objects.filter(idnid).update(titletitle)# 更新完成后重定向到部门列表页面return redirect(/depart/list)当用户访问 /depart/nid/edit/ URL 时depart_edit 函数会根据部门 ID (nid) 获取该部门的现有信息并显示在表单中用户可以修改部门名称并提交表单。提交表单后depart_edit 函数会更新数据库中对应部门的标题并将用户重定向回部门列表页面。
depart_edit.py
{% load static %}!DOCTYPE html
html langen
headmeta charsetUTF-8titleTitle/titlelink relstylesheet href{% static plugins/bootstrap-5.3.3/css/bootstrap.css %}link relstylesheet href{% static plugins/font-awesome-4.7.0/css/font-awesome.css %}style.c1{margin-top: 20px;margin-bottom: 20px;}/style/head
bodynav classnavbar navbar-expand-lg bg-lightdiv classcontainera classnavbar-brand href#部门管理系统/abutton classnavbar-toggler typebutton data-bs-togglecollapsedata-bs-target#navbarSupportedContent aria-controlsnavbarSupportedContentaria-expandedfalse aria-labelToggle navigationspan classnavbar-toggler-icon/span/buttondiv classcollapse navbar-collapse idnavbarSupportedContentul classnavbar-nav me-auto mb-2 mb-lg-0li classnav-itema classnav-link active aria-currentpage href/depart/list/部门首页/a/lili classnav-itema classnav-link href/depart/add部门管理/a/liform classd-flexinput classform-control me-2 typesearch placeholderSearch aria-labelSearchbutton classbtn btn-outline-success typesubmitSearch/button/form/ul/divul classnavbar-nav me-auto mb-2 mb-lg-0li classnav-itema classnav-link active aria-currentpage href#登录/a/lili classnav-itema classnav-link href#注册/a/lili classnav-item dropdowna classnav-link dropdown-toggle href# idlog rolebuttondata-bs-toggledropdown aria-expandedfalse豆腐乳/aul classdropdown-menu aria-labelledbynavbarDropdownlia classdropdown-item href#个人资料/a/lilia classdropdown-item href#我的账户/a/lilia classdropdown-item href#修改密码/a/lilihr classdropdown-divider/lilia classdropdown-item href#注销/a/li/ul/li/ul/div
/navdivdiv classcontainerdiv classcard c1div classcard-header修改部门/divdiv classcard-bodyform methodpost{% csrf_token %}div classmb-3label forinputtitle classform-label标题/labelinput typetext classform-control idinputtitle placeholder标题 nametitle value{{ row_object.title }}//divbutton typesubmit classbtn btn-primary提交/button/form/div/div/div
/divscript src{% static plugins/bootstrap-5.3.3/js/bootstrap.bundle.min.js %}/script/body
/html
运行 改成“媒体” 学习【最新Python的web开发全家桶django前端数据库-哔哩哔哩】 https://b23.tv/O0w3SND