python3+django2开发一个简单的人员管理系统过程详解

yipeiwu_com5年前Python基础

一、基础环境准备

windows环境:

  • Pycharm
  • python3.6
  • Django2.0.1
  • Mysql5.7

安装django 在pycharm terminal 控制台执行:

python3 -m pip install django #因为本地安装了python2.7 和python3.6 2个版本,所以python3.6环境变量对应python3

二、创建工程和应用

django-admin.py startproject qiakrcmdb #工程名称
cd qiakrcmdb
django-admin.py startapp userinfo #应用名称

三、应用配置

3.1、修改工程配置文件(qiakrcmdb/settings.py)

#添加我们创建的应用userinfo

INSTALLED_APPS = [
  'django.contrib.admin',
  'django.contrib.auth',
  'django.contrib.contenttypes',
  'django.contrib.sessions',
  'django.contrib.messages',
  'django.contrib.staticfiles',
  'userinfo',
]

注释 csrf 校验

MIDDLEWARE = [
  'django.middleware.security.SecurityMiddleware',
  'django.contrib.sessions.middleware.SessionMiddleware',
  'django.middleware.common.CommonMiddleware',
  #'django.middleware.csrf.CsrfViewMiddleware',
  'django.contrib.auth.middleware.AuthenticationMiddleware',
  'django.contrib.messages.middleware.MessageMiddleware',
  'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

修改连库配置默认 sqlite3 改mysql

DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.mysql', 
    'NAME': 'userinfo',           
    'USER': 'root',
    'PASSWORD': '123456',
    'HOST': '127.0.0.1',           
    'PORT': '3306',         
  }
}
LANGUAGE_CODE = 'zh-Hans'

TIME_ZONE = 'Asia/Shanghai'

允许所有IP访问

ALLOWED_HOSTS = ['*']

3.2、定义用户信息的数据模型(也就是字段名和数据类型)userinfo/models.py

from django.db import models

class User(models.Model):
  GENDER_CHOICES=(
    ('男','男'),
    ('女','女'),
    )
  name=models.CharField(max_length=30,unique=True,verbose_name='姓 名')
  birthday=models.DateField(blank=True,null=True,verbose_name='生 日')
  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='年 龄')

3.3、初始化模型数据库并生成数据库文件

简言之:在Django 1.9及未来的版本种使用migrate代替原先的syscdb.

python3 ./manage.py migrate

3.4、显示注册信息修改默认标题(hostinfo/admin.py)

from django.contrib import admin
from userinfo.models import User

class HostAdmin(admin.ModelAdmin):
  list_display = [
        'name',
        'age',
        'birthday',
        'gender',
        'account',
         ]
  search_fields = ('name',)
   
admin.site.register(User,HostAdmin)
admin.AdminSite.site_header ='运维系统管理后台'
admin.AdminSite.site_title = '运维系统'

3.6 添加应用的url访问(qiakrcmdb/urls.py)

from django.contrib import admin
from django.urls import path

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

3.7 创建用户表

USER userinfo;
CREATE TABLE `userinfo_user` (
 `id` int(19) NOT NULL AUTO_INCREMENT,
 `name` varchar(50) NOT NULL,
 `birthday` varchar(100) NOT NULL,
 `gender` varchar(50) NOT NULL,
 `account` varchar(50) NOT NULL,
 `age` int(19) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;

django 连数据库 提示找不到MySQLdb模块解决

python3 -m pip install pymysql

找到qiakrcmdb/userinfo/__init__.py,在里面输入以下内容并保存:

import pymysql pymysql.install_as_MySQLdb()

四、启动Django服务

python3 manage.py runserver 0.0.0.0:81

http://127.0.0.1:81/admin/

创建管理员帐号

python3 manage.py createsuperuser #根据提示输入帐号和密码

登录成功后即可添加对应的信息到系统中;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Django对models里的objects的使用详解

首先我们先熟悉下objects的大致概念. object是模型属性---用于模型对象和数据库交互 . objects = Manager() 是管理器类型的对象 ,是Model和数据库进...

python 根据正则表达式提取指定的内容实例详解

python 根据正则表达式提取指定的内容 正则表达式是极其强大的,利用正则表达式来提取想要的内容是很方便的事。   下面演示了在python里,通过正则表达式来提...

使用 Python 实现微信群友统计器的思路详解

使用 Python 实现微信群友统计器的思路详解

基于微信可以做很多有意思的练手项目,看了这张速查表你就会发现,可以做的事情超过你的想象。 有一次我想要统计微信群里哪些同学在北京,但发现直接问是很难得到准确结果的…… 这时候不如运用...

Python基本socket通信控制操作示例

本文实例讲述了Python基本socket通信控制操作。分享给大家供大家参考,具体如下: python — 基本socket通信控制(控制在celie.txt文件中主机IP地址可以发送信...

python程序 创建多线程过程详解

一、python线程的模块 1.1 thread和threading模块 thread模块提供了基本的线程和锁的支持 threading提供了更高级别、功能更强的线程管理的功能。...