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


Posted in Python onJuly 23, 2019

一、基础环境准备

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+django2开发一个简单的人员管理系统过程详解

创建管理员帐号

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

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

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的另外几种语言实现
Jan 29 Python
Python的Flask开发框架简单上手笔记
Nov 16 Python
Python开发之快速搭建自动回复微信公众号功能
Apr 22 Python
Python 元类实例解析
Apr 04 Python
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
Mar 18 Python
python的依赖管理的实现
May 14 Python
Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法
Dec 17 Python
django 文件上传功能的相关实例代码(简单易懂)
Jan 22 Python
简单了解django处理跨域请求最佳解决方案
Mar 25 Python
python和node.js生成当前时间戳的示例
Sep 29 Python
用python实现一个简单计算器(完整DEMO)
Oct 14 Python
Python Pandas list列表数据列拆分成多行的方法实现
Dec 14 Python
Django框架之DRF 基于mixins来封装的视图详解
Jul 23 #Python
flask框架路由常用定义方式总结
Jul 23 #Python
python处理大日志文件
Jul 23 #Python
Django urls.py重构及参数传递详解
Jul 23 #Python
Django框架基础模板标签与filter使用方法详解
Jul 23 #Python
Python之虚拟环境virtualenv,pipreqs生成项目依赖第三方包的方法
Jul 23 #Python
Python中拆分字符串的操作方法
Jul 23 #Python
You might like
php源代码安装常见错误与解决办法分享
2013/05/28 PHP
PHP之浮点数计算比较以及取整数不准确的解决办法
2015/07/29 PHP
PHP 的比较运算与逻辑运算详解
2016/05/12 PHP
PHP编程实现计算抽奖概率算法完整实例
2017/08/09 PHP
php 二维数组快速排序算法的实现代码
2017/10/17 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
js checkbox(复选框) 使用集锦
2009/04/28 Javascript
javascript contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
2010/02/04 Javascript
javascript操作ul中li的方法
2015/05/14 Javascript
JS简单测试循环运行时间的方法
2016/09/04 Javascript
jQuery 插件实现随机自由弹跳气泡样式
2017/01/12 Javascript
对象不支持indexOf属性或方法的解决方法(必看)
2017/05/28 Javascript
微信小程序框架wepy之动态控制类名
2018/09/14 Javascript
ES6 Set结构的应用实例分析
2019/06/26 Javascript
Weex开发之WEEX-EROS开发踩坑(小结)
2019/10/16 Javascript
JS实现网站吸顶条
2020/01/08 Javascript
[01:58]2018DOTA2亚洲邀请赛趣味视频——交流
2018/04/03 DOTA
python创建线程示例
2014/05/06 Python
python处理二进制数据的方法
2015/06/03 Python
浅谈Python基础之I/O模型
2017/05/11 Python
python与C互相调用的方法详解
2017/07/14 Python
Python实现的单向循环链表功能示例
2017/11/10 Python
Django进阶之CSRF的解决
2018/08/01 Python
python,Django实现的淘宝客登录功能示例
2019/06/12 Python
python数据类型之间怎么转换技巧分享
2019/08/20 Python
在Python中使用filter去除列表中值为假及空字符串的例子
2019/11/18 Python
Python基于gevent实现文件字符串查找器
2020/08/11 Python
Python reversed反转序列并生成可迭代对象
2020/10/22 Python
西班牙创意礼品和小工具网上商店:Curiosite
2016/07/26 全球购物
Vision Direct比利时:在线订购隐形眼镜
2019/08/27 全球购物
与C++相比,Java中的数组有什么不同
2014/03/25 面试题
学校办公室主任职责
2013/12/27 职场文书
国际商务专业毕业生自我鉴定2014
2014/09/27 职场文书
电力企业职工培训心得体会
2016/01/11 职场文书
Java中的Kotlin 内部类原理
2022/06/16 Java/Android
SpringBoot项目多数据源及mybatis 驼峰失效的问题解决方法
2022/07/07 Java/Android