您好,登錄后才能下訂單哦!
本篇內容主要講解“Django完整增刪改查系統怎么實現”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Django完整增刪改查系統怎么實現”吧!
django-admin startproject ch4
python manage.py startapp employee
在setting.py中INSTALLED_APPS下加入employee應用程序
1.在數據庫中創建一個數據庫名為testOrm
2.在setting.py文件添加與數據庫連接的信息
3.添加模文件夾
模型定義在應用employee的model.py文件中,并繼承model.Model類。在本次項目中定義了模型類department
class department(models.Model): dep_name=models.CharField(max_length=32,verbose_name='部門名稱',unique=True,blank=False) dep_script=models.CharField(max_length=60,verbose_name='備注說明',null=True
python manage.py makemigrations
執行生產遷移命令后會生成一下0001_initial.py文件
遷移文件生成后,使用遷移文件命令生成對應的數據表
python manage.py migrate
實現增刪改查的方法
# 查詢所有數據 def list_dep_old(request): # 查詢所有數據 def_list=department.objects.all()#查詢方法:all(),filter(),exclude(),get() return render(request,'test_orm_old/list_dep_old.html',{'dep_list':def_list}) #添加數據 def add_dep_old(request): # 判斷請求方式,如果post,說明前端需要提交數據 if request.method=='POST': # 獲取傳過來的get()函數中的參數(html文件input()標簽的name屬性) dep_name=request.POST.get('dep_name') dep_script=request.POST.get('dep_script') # strip()過濾 if dep_name.strip()=='': return render(request,'test_orm_old/add_dep_old.html',{'error_info':'名稱不能為空'}) # 用create()函數新建一條函數,會自動保存,不需要調用save()函數 try: # 添加數據有兩種方式:1.使用模型管理器的create()方法添加數據,2.使用模型實列save()方法保存 p=department.objects.create(dep_name=dep_name,dep_script=dep_script) return redirect('/test_orm_old/list_dep_old/') except Exception as e: return render(request,'test_orm_old/add_dep_old.html',{'error_info':'輸入部門名稱重復或信息錯誤!'}) finally: pass return render(request,'test_orm_old/add_dep_old.html/') #刪除數據 def del_dep_old(request,dep_id): dep_object=department.objects.get(id=dep_id) dep_object.delete() return redirect('/test_orm_old/list_dep_old/') #修改數據 def edit_dep_old(request,dep_id): if request.method=='POST': id=request.POST.get('id') dep_name=request.POST.get('dep_name') dep_script=request.POST.get('dep_script') dep_object=department.objects.get(id=id) dep_object.dep_name=dep_name dep_object.dep_script=dep_script dep_object.save() return redirect('/test_orm_old/list_dep_old/') else: dep_object=department.objects.get(id=dep_id) return render(request,'test_orm_old/edit_dep_old.html',{'department':dep_object})
1.在應用下創建templates文件目錄用來存放前端頁面文件
2.并在templates下創建test_orm_old文件目錄
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>主頁面</title> </head> <body> <h2>部門列表</h2> <div><a href="/test_orm_old/add_dep_old" rel="external nofollow" >增加一條記錄</a></div> <table border="1"> <thead> <tr> <td>部門名稱</td> <td>備注說明</td> <td colspan="2">操作</td> </tr> </thead> <tbody> {% for dep in dep_list %} <tr> <td>{{ dep.dep_name }}</td> <td>{{ dep.dep_script}}</td> <td><a href="/test_orm_old/del_dep_old/{{dep.id}}/" rel="external nofollow" >刪除</a> </td> <td><a href="/test_orm_old/edit_dep_old/{{dep.id}}/" rel="external nofollow" >修改</a> </td> </tr> {% empty %} <tr> <td colspan="4">無相關記錄!</td> </tr> {% endfor %} </tbody> </table> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>增加部門</title> </head> <body> <div align="center"> <h2>增加部門</h2> <hr> <form action="" method="post"> <!-- 安全機制--> {% csrf_token %} <input type="hidden" name="id" id="id" value="{{ department.id }}"> <div> <label>部門名稱:</label> <input type="text" name="dep_name" id="dep_name"> </div> <br> <div> <label>備注說明:</label> <input type="text" name="dep_script" id="dep_script"> </div> <br> <div> <input type="submit" value="保存"> </div> </form> {{ error_info }} </div> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>修改部門</title> </head> <body> <div align="center"> <h2>修改部門</h2> <form action="" method="post"> {% csrf_token %} <input type="hidden" name="id" id="id" value="{{ department.id}}"> <div> <label>部門:</label> <input type="text" name="dep_name" id="dep_name" value="{{ department.dep_name }}"> </div> <br> <div> <label>備注:</label> <input type="text" name="dep_script" id="dep_script" value="{{ department.dep_script}}"> </div> <br> <div><input type="submit" value="保存"></div> </form> {{ error_info }} </div> </body> </html>
from django.contrib import admin from django.urls import path,include from employee import views urlpatterns = [ path('admin/', admin.site.urls), # path('',include('employee.urls')), path('test/',views.test), path('list_dep_old/',views.list_dep_old), path('test_orm_old/list_dep_old/',views.list_dep_old), path('test_orm_old/add_dep_old/',views.add_dep_old), path('test_orm_old/del_dep_old/<int:dep_id>/',views.del_dep_old), ]
到此,相信大家對“Django完整增刪改查系統怎么實現”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。