Python3+Django3開發簡單的人員管理系統

1、使用PyCharm創建Django項目

Python3+Django3開發簡單的人員管理系統

Python3+Django3開發簡單的人員管理系統

記得安裝mysqlclient

(1)數據庫配置

我們在項目的 settings.py 文件中找到 DATABASES 配置項,將其信息修改爲:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',  # 或者使用 mysql.connector.django
        'NAME': 'userinfo',
        'USER': 'root',
        'PASSWORD': '123456',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

Python3+Django3開發簡單的人員管理系統

這裏添加了中文註釋,所以你需要在 HelloWorld/settings.py 文件頭部添加 # -*- coding: UTF-8 -*-。

上面包含數據庫名稱和用戶的信息,它們與 MySQL 中對應數據庫和用戶的設置相同。Django 根據這一設置,與 MySQL 中相應的數據庫和用戶連接起來。

(2)更改語言、時區 和 所有主機都可訪問

我們在項目的 settings.py 文件中找到ALLOWED_HOSTSLANGUAGE_CODETIME_ZONE配置項,將其信息修改爲:

ALLOWED_HOSTS = ['*']

# LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'zh-Hans'

# TIME_ZONE = 'UTC'
TIME_ZONE = 'Asia/Shanghai'

(3)修改 TestModel/models.py 文件:

from django.db import models

# Create your models here
class User(models.Model):
    GENDER_CHOICES = (
        ('男','男'), ('女','女'),
    )
    name = models.CharField(max_length=20, verbose_name='姓名', unique=True)
    birthday = models.DateTimeField(max_length=10,verbose_name='生日', null=True,blank=True)
    gender = models.CharField(max_length=30, choices=GENDER_CHOICES, verbose_name='性別')
    account = models.IntegerField(default=0,verbose_name='工號')
    age = models.IntegerField(default=18, verbose_name='年齡')

以上的類名代表了數據庫表名,且繼承了models.Model,類裏面的字段代表數據表中的字段(name),數據類型則由CharField(相當於varchar)、DateField(相當於datetime), max_length 參數限定長度。

(4)創建數據庫

記得在數據庫創建UserInfo數據庫

<1>可在cmd命令行中創建數據庫

G:\四期\python\UserSystem>mysql -uroot -p 
#登陸數據庫

mysql> CREATE DATABASE xgp DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
#創建utf8的數據庫

<2>mysql管理器中創建數據庫

Python3+Django3開發簡單的人員管理系統

Python3+Django3開發簡單的人員管理系統

(5)創建表結構

$ python manage.py migrate   # 創建表結構
//失敗了可用python manage.py migrate UserInfo
//失敗了可用python3 manage.py migrate UserInfo

$ python manage.py makemigrations UserInfo  # 讓 Django 知道我們在我們的模型有一些變更
$ python manage.py migrate UserInfo   # 創建表結構

數據庫生成以下表:

Python3+Django3開發簡單的人員管理系統

(6)訪問一下

記得啓動項目

Python3+Django3開發簡單的人員管理系統

2、Django Admin 管理工具

Django 提供了基於 web 的管理工具。

Django 自動管理工具是 django.contrib 的一部分。你可以在項目的 settings.py 中的 INSTALLED_APPS 看到它:

#/HelloWorld/HelloWorld/settings.py 文件代碼:
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'UserInfo.apps.UserinfoConfig',
]

django.contrib是一套龐大的功能集,它是Django基本代碼的組成部分。

(1)激活管理工具

通常我們在生成項目時會在 urls.py 中自動設置好,我們只需去掉註釋即可。

配置項如下所示:

#/HelloWorld/HelloWorld/urls.py 文件代碼:
from django.contrib import admin
from django.urls import path

urlpatterns = [
    path('admin/', admin.site.urls),
]

當這一切都配置好後,Django 管理工具就可以運行了。

(2)使用管理工具

啓動開發服務器,然後在瀏覽器中訪問 http://127.0.0.1:8000/admin/,得到如下界面

Python3+Django3開發簡單的人員管理系統

因爲我現在是新建了個項目所以需要創建表結構:

$ python manage.py migrate UserInfo   # 創建表結構,指定數據庫
//失敗了可用python3 manage.py migrate

$ python manage.py makemigrations UserInfo  # 讓 Django 知道我們在我們的模型有一些變更
$ python manage.py migrate UserInfo   # 創建表結構

你可以通過命令 python manage.py createsuperuser 來創建超級用戶,如下所示:

# python manage.py createsuperuser
Username (leave blank to use 'root'): admin
Email address: [email protected]
Password:
Password (again):
Superuser created successfully.

之後輸入用戶名密碼登錄,界面如下:

Python3+Django3開發簡單的人員管理系統

(3)爲了讓 admin 界面管理某個數據模型,我們需要先註冊該數據模型到 admin。

from django.contrib import admin
from . models import User

class HostAdmin(admin.ModelAdmin):
    list_display = [
        'name', 'birthday', 'gender', 'account', 'age',
    ]
    search_fields = ('name',)
admin.site.register(User,HostAdmin)
admin.AdminSite.site_header = '運維繫統管理後臺'
admin.AdminSite.site_title = '運維繫統'

瀏覽器訪問一下

Python3+Django3開發簡單的人員管理系統

Python3+Django3開發簡單的人員管理系統

設置兩個員工信息並查看一下

Python3+Django3開發簡單的人員管理系統

userinfo數據庫的userinfo_user表會保存員工信息:

Python3+Django3開發簡單的人員管理系統

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章