当前位置:网站首页>02 staff information management after the actual project

02 staff information management after the actual project

2022-07-06 11:08:00 As。

  1. Create employee information data table ;user ( Already created )
  2. 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 
  1. 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
  1. 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 

]

  1. 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)
  1. stay \myobject\templates\myadmin\user\index.html To inherit
{
    % extends 'myadmin/base.html' %}

{
    % block main_body %}

{
    % endblock %}
  1. In parent template (base.html) Perform the anti parsing operation
     Insert picture description here

13. Employee information browsing
 Insert picture description here
14. Modify the status information in employees , Judge status state

 Insert picture description here
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
 Insert picture description here
 Insert picture description here
 Insert picture description here
 Insert picture description here
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

 Insert picture description here

原网站

版权声明
本文为[As。]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/187/202207060912299992.html