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设计】。

相关文章

python比较2个xml内容的方法

本文实例讲述了python比较2个xml内容的方法。分享给大家供大家参考。具体分析如下: from xml.etree import ElementTree OK=True ma...

pandas 转换成行列表进行读取与Nan处理的方法

pandas中有时需要按行依次对.csv文件读取内容,那么如何进行呢? 我们来完整操作一遍,假设我们已经有了一个.csv文件。 # 1.导入包 import pandas as p...

Python利用flask sqlalchemy实现分页效果

Python利用flask sqlalchemy实现分页效果

Flask-sqlalchemy是关于flask一个针对数据库管理的。文中我们采用一个关于员工显示例子。 首先,我们创建SQLALCHEMY对像db。 from flask impo...

PYTHON如何读取和写入EXCEL里面的数据

PYTHON如何读取和写入EXCEL里面的数据

好久没写了,今天来说说python读取excel的常见方法。首先需要用到xlrd模块,pip install xlrd 安装模块。 首先打开excel文件: xl = xlrd.open...

Python cookbook(数据结构与算法)实现优先级队列的方法示例

本文实例讲述了Python实现优先级队列的方法。分享给大家供大家参考,具体如下: 问题:要实现一个队列,它能够以给定的优先级对元素排序,且每次pop操作时都会返回优先级最高的那个元素;...