原创 Django Rest_Framework之視圖類和通用視圖類以及子類
一.反序列化器保存數據 前面的驗證數據成功後,我們可以使用序列化器來完成數據反序列化的過程.這個過程可以把數據轉成模型類對象. 可以通過實現create()和update()兩個方法來實現。 1.添加數據: class Books
原创 Django之菜單排序、路徑導航、訪問子菜單時二級菜單默認展開、權限精確到按鈕級別
一.一級菜單排序 實現思路: 在一級菜單表中加一個權重字段,根據這個字段來排序。 weight = models.IntegerField(default=1) # 權重 左側菜單欄根據這個來排序 那麼獲取用戶權限時就要獲取
原创 Django中auto_now和auto_now_add
創建一張表: class DateTest(models.Model): import datetime name = models.CharField(max_length=32,default='1')
原创 Django之權限分配展示
一.角色展示 角色展示: def role(request): all_role = models.Role.objects.all() return render(request,'rbac/role_list.
原创 CentOS7下部署Django項目
部署是基於centos7+nginx+uwsgi+python3+django+mysql 一.安裝mysql 1 下載並安裝MySQL官方的 Yum Repository wget -i -c http://dev.mysql.
原创 Django數據庫配置報錯object supporting the buffer API required
錯誤一:object supporting the buffer API required 需要將settings.py中mysql配置的密碼改爲字符穿: DATABASES = { 'default': {
原创 Django之權限RBAC
一.RBAC概念 RBAC基於角色的權限訪問控制(Role-Based Access Control) 在計算機系統安全中,基於角色的訪問控制(RBAC)或基於角色的安全性是一種將系統訪問限制在授權用戶的方法。它被大多數員工超過5
原创 Django之左側菜單欄權限和二級菜單
一.左側菜單欄權限 像下面的這種左側菜單欄如果用戶沒有權限就直接不展示,不然沒權限展示了也沒什麼用 實現思路: 在Permission表中加一個字段用來標記是否是左側菜單,通過這個字段來判斷用戶是否有左側菜單欄的權限。 clas
原创 Django之批量生成數據和modelformset
一.批量生成數據 需求:點擊【批量生成學習記錄】後將下面的課程記錄生成學習記錄 表結構: from django.db import models from multiselectfield import MultiSelec
原创 Django之跳轉回原路徑
問題:圖書管理系統點擊編輯之後跳轉的不是當前編輯的頁數, 而是跳轉到了第一頁去了,這對用戶來說是體驗很不好的, 編輯完成之後還要翻到那一頁看一下有沒有編輯成功,下面就來解決一下這個問題: 實現思路: 在get請求路勁
原创 Django之搜索和保存搜索條件
一.搜索 需求:根據書名或者作者名字來進行搜索: html文件: 地址:html <form class="form-inline"> <div class="form-group"> <select name=
原创 Django之添加編輯整合及批量刪除和公私戶轉換
一.添加 書籍系統: 添加視圖函數: def add_edit_book(request): if request.method == 'GTE': book_from = BookModelForm()
原创 Django之自定義分頁組件
一.分頁邏輯 from django.utils.safestring import mark_safe #mark_safe:安全字符串 class MyPage: def __init__(self, page_
原创 Django之同源和跨域、CSRF詳解
一.CSRF 全稱是Cross Site Request Forgery,字面意思是跨站點僞造請求。 攻擊者通過HTTP請求江數據傳送到服務器,從而盜取回話的cookie。盜取回話cookie之後,攻擊者不僅可以獲取用戶的信息,還
原创 Django之form進階和ModelForm
一.form進階 1.字段批量添加樣式: def __init__(self,*args,**kwargs): super(BookForm,self).__init__(*args,**kwargs) for f