Python3+Django3开发简单的人员管理系统
1、使用PyCharm创建Django项目
记得安装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",
}
}
这里添加了中文注释,所以你需要在 HelloWorld/settings.py 文件头部添加 # -*- coding: UTF-8 -*-。
上面包含数据库名称和用户的信息,它们与 MySQL 中对应数据库和用户的设置相同。Django 根据这一设置,与 MySQL 中相应的数据库和用户连接起来。
(2)更改语言、时区 和 所有主机都可访问
我们在项目的 settings.py 文件中找到ALLOWED_HOSTS
、LANGUAGE_CODE
和TIME_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:四期pythonUserSystem>mysql -uroot -p
#登陆数据库
mysql> CREATE DATABASE xgp DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
#创建utf8的数据库
<2>mysql管理器中创建数据库
(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 # 创建表结构
数据库生成以下表:
(6)访问一下
记得启动项目
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 管理工具就可以运行了。郑州做试管婴儿多少钱:http://www.changhong120.com/
(2)使用管理工具
启动开发服务器,然后在浏览器中访问 http://127.0.0.1:8000/admin/,得到如下界面:
因为我现在是新建了个项目所以需要创建表结构:
$ 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: admin@runoob.com
Password:
Password (again):
Superuser created successfully.
之后输入用户名密码登录,界面如下:
(3)为了让 admin 界面管理某个数据模型,我们需要先注册该数据模型到 admin。不孕不育郑州:http://jbk.39.net/yiyuanfengcai/tsyl_zztjyy/3022/
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 = "运维系统"
浏览器访问一下
设置两个员工信息并查看一下
userinfo数据库的userinfo_user表会保存员工信息:
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341