当前位置:网站首页>02 staff information management after the actual project
02 staff information management after the actual project
2022-07-06 11:08:00 【As。】
- Create employee information data table ;user ( Already created )
- Defining models Model class ; Get into myobject/myadmin/models.py; because user In the table id Since the increase , So there is no need to define
from django.db import models
from datetime import datetime
# Employee account information model
class User(models.Model):
username = models.CharField(max_length=50) # Employee account number
nickname = models.CharField(max_length=50) # nickname
password_hash = models.CharField(max_length=100)# password
password_salt = models.CharField(max_length=50) # Password interference value
status = models.IntegerField(default=1) # state :1 normal /2 Ban /9 Delete
create_at = models.DateTimeField(default=datetime.now) # Creation time
update_at = models.DateTimeField(default=datetime.now) # Modification time
def toDict(self):
return {
'id': self.id, 'username': self.username, 'nickname': self.nickname, 'password_hash': self.password_hash,' password_salt': self.password_salt, 'status': self.status, 'create_at': self.create_at.strftime('%Y-%m-%d %H:%M:%S'), 'update_at': self.update_at.strftime('%Y-%m-%d %H:%M:%S')}
class Meta:
db_table = "user" # Change table name
- take myobject/myadmin/index.py Copy a copy to the current path , Change the name to user.py( The view of each page is managed separately ), add to 6 A function ( Add, delete, change and check operation )
# View file of employee information management
from django.shortcuts import render
from django.http import HttpResponse
from myadmin.models import User
# Create your views here.
def index(request): # Browse information
pass
def add(request): # Load information add form
pass
def insert(request): # Perform information addition
pass
def delete(request, uid=0): # Execute information deletion
pass
def edit(request, uid=0): # Load the information editing form
pass
def update(request, uid): # Perform information editing
pass
- To configure url route `
# Background management sub route file
from django.urls import path
from myadmin.views import index, user
urlpatterns = [
path('', index.index, name="myadmin_index"), # The background page
# Employee information management route
path('user/', user.index, name="myadmin_user_index"), # Browse
path('user/add', user.add, name="myadmin_user_add"), # Add form
path('user/insert', user.insert, name="myadmin_user_insert"), # Execution add
path('user/del/<int:uid>', user.delete, name="myadmin_user_delete"), # Execution deletion
path('user/edit/<int:uid>', user.edit, name="myadmin_user_edit"), # Load edit form
path('user/update/<int:uid>', user.update, name="myadmin_user_update"), # Perform editing
]
- In the template , Improve browsing operation ; stay \myobject\templates\myadmin I'll build a new one user Folder , stay user Create a index.html file ;myobject/myadmin/user.py Revised as follows :
def index(request): # Browse information
umod = User.objects
ulist = umod.all()
context = {
"userlist": ulist}
return render(request, "myadmin/user/index.html", context)
- stay \myobject\templates\myadmin\user\index.html To inherit
{
% extends 'myadmin/base.html' %}
{
% block main_body %}
{
% endblock %}
- In parent template (base.html) Perform the anti parsing operation
13. Employee information browsing
14. Modify the status information in employees , Judge status state
15. Pagination , stay user.py In the operation
# View file of employee information management
from django.shortcuts import render
from django.http import HttpResponse
from myadmin.models import User
from django.core.paginator import Paginator # Paging Guide Package
def index(request,pIndex=1): # Browse information
umod = User.objects # Instantiate objects
#ulist = umod.all() # Query all the data
ulist = umod.filter(status__lt=9) # Filtering information , Filter status state Less than 9 Of Displayed on the page
# Perform paging
pIndex = int(pIndex)
page = Paginator(ulist, 5) # With every page 5 Data paging
maxpages = page.num_pages # Get maximum pages
# Judge whether the current page is out of bounds
if pIndex > maxpages:
pIndex = maxpages
if pIndex < 1:
pIndex = 1
list2 = page.page(pIndex) # Get the current page data
plist = page.page_range # Get page list information
context = {
"userlist": list2, 'plist':plist, 'pIndex':pIndex, 'maxpages': maxpages}
return render(request, "myadmin/user/index.html", context) # Template rendering
def add(request): # Load information add form
pass
def insert(request): # Perform information addition
pass
def delete(request, uid=0): # Execute information deletion
pass
def edit(request, uid=0): # Load the information editing form
pass
def update(request, uid): # Perform information editing
pass
15. stay index.html Get page information in
16. Search box ( Fuzzy search name and nickname , And the state )
# View file of employee information management
from django.shortcuts import render
from django.http import HttpResponse
from myadmin.models import User
from django.core.paginator import Paginator # Paging Guide Package
from django.db.models import Q # Search for or
def index(request,pIndex=1): # Browse information
umod = User.objects # Instantiate objects
#ulist = umod.all() # Query all the data
ulist = umod.filter(status__lt=9) # Filtering information , Filter status state Less than 9 Of Displayed on the page
mywhere=[]
# Get and judge the search conditions
kw = request.GET.get("keyword", None)
if kw:
ulist = ulist.filter(Q(username__contains=kw) | Q(nickname__contains=kw))
mywhere.append('keyword='+kw)
# obtain 、 Judge and encapsulate the state status search criteria
status = request.GET.get('status', '')
if status != '':
ulist = ulist.filter(status=status)
mywhere.append("status=" + status)
# Perform paging
pIndex = int(pIndex)
page = Paginator(ulist, 5) # With every page 5 Data paging
maxpages = page.num_pages # Get maximum pages
# Judge whether the current page is out of bounds
if pIndex > maxpages:
pIndex = maxpages
if pIndex < 1:
pIndex = 1
list2 = page.page(pIndex) # Get the current page data
plist = page.page_range # Get page list information
context = {
"userlist": list2, 'plist':plist, 'pIndex':pIndex, 'maxpages': maxpages, "mywhere": mywhere}
return render(request, "myadmin/user/index.html", context) # Template rendering
def add(request): # Load information add form
pass
def insert(request): # Perform information addition
pass
def delete(request, uid=0): # Execute information deletion
pass
def edit(request, uid=0): # Load the information editing form
pass
def update(request, uid): # Perform information editing
pass
边栏推荐
- Development of C language standard
- 记一次某公司面试题:合并有序数组
- Idea import / export settings file
- 1. Mx6u learning notes (VII): bare metal development (4) -- master frequency and clock configuration
- Detailed reading of stereo r-cnn paper -- Experiment: detailed explanation and result analysis
- MySQL完全卸载(Windows、Mac、Linux)
- C语言标准的发展
- LeetCode #461 汉明距离
- Mysql21 user and permission management
- 数据库高级学习笔记--SQL语句
猜你喜欢
PyCharm中无法调用numpy,报错ModuleNotFoundError: No module named ‘numpy‘
Valentine's Day is coming, are you still worried about eating dog food? Teach you to make a confession wall hand in hand. Express your love to the person you want
安装numpy问题总结
[recommended by bloggers] background management system of SSM framework (with source code)
CSDN markdown editor
Swagger、Yapi接口管理服务_SE
A brief introduction to the microservice technology stack, the introduction and use of Eureka and ribbon
Django运行报错:Error loading MySQLdb module解决方法
[recommended by bloggers] C WinForm regularly sends email (with source code)
QT creator shape
随机推荐
Windows下安装MongDB教程、Redis教程
++Implementation of I and i++
Asp access Shaoxing tourism graduation design website
windows无法启动MYSQL服务(位于本地计算机)错误1067进程意外终止
A trip to Macao - > see the world from a non line city to Macao
[free setup] asp Net online course selection system design and Implementation (source code +lunwen)
Install mysql5.5 and mysql8.0 under windows at the same time
[C language foundation] 04 judgment and circulation
Are you monitored by the company for sending resumes and logging in to job search websites? Deeply convinced that the product of "behavior awareness system ba" has not been retrieved on the official w
Idea import / export settings file
【博主推荐】C# Winform定时发送邮箱(附源码)
QT creator specify editor settings
数据库高级学习笔记--SQL语句
MySQL完全卸载(Windows、Mac、Linux)
报错解决 —— io.UnsupportedOperation: can‘t do nonzero end-relative seeks
Neo4j installation tutorial
[recommended by bloggers] C WinForm regularly sends email (with source code)
Installation and use of MySQL under MySQL 19 Linux
[recommended by bloggers] asp Net WebService background data API JSON (with source code)
打开浏览器的同时会在主页外同时打开芒果TV,抖音等网站