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程序中访问Java类的简单示例
Apr 20 Python
解决Python中由于logging模块误用导致的内存泄露
Apr 23 Python
Python的SQLAlchemy框架使用入门
Apr 29 Python
从头学Python之编写可执行的.py文件
Nov 28 Python
解决python使用open打开文件中文乱码的问题
Dec 29 Python
python判断一个数是否能被另一个整数整除的实例
Dec 12 Python
python 爬取马蜂窝景点翻页文字评论的实现
Jan 20 Python
tensorflow 实现数据类型转换
Feb 17 Python
python 工具 字符串转numpy浮点数组的实现
Mar 14 Python
PIP和conda 更换国内安装源的方法步骤
Sep 21 Python
python实现逻辑回归的示例
Oct 09 Python
Python中常用的os操作汇总
Nov 05 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/06/18 PHP
PHP中file_exists使用中遇到的问题小结
2016/04/05 PHP
PHP弱类型的安全问题详细总结
2016/09/25 PHP
在Javascript中为String对象添加trim,ltrim,rtrim方法
2006/09/22 Javascript
jQuery获取文本节点之 text()/val()/html() 方法区别
2011/03/01 Javascript
alert出数组中的随即值代码
2014/09/25 Javascript
自己动手写的jquery分页控件(非常简单实用)
2015/10/28 Javascript
uploadify多文件上传参数设置技巧
2015/11/16 Javascript
自动完成的搜索框javascript实现
2016/02/26 Javascript
js获取时间精确到秒(年月日)
2016/03/16 Javascript
jquery.uploadView 实现图片预览上传功能
2017/08/10 jQuery
详解vue.js之绑定class和style的示例代码
2017/08/24 Javascript
微信小程序 input表单与redio及下拉列表的使用实例
2017/09/20 Javascript
seaJs使用心得之exports与module.exports的区别实例分析
2017/10/13 Javascript
15分钟深入了解JS继承分类、原理与用法
2019/01/19 Javascript
JavaScript键盘事件响应顺序详解
2019/09/30 Javascript
vue data引入本地图片的两种方式小结
2019/11/13 Javascript
基于JavaScript实现控制下拉列表
2020/05/08 Javascript
Python创建文件和追加文件内容实例
2014/10/21 Python
Windows和Linux下使用Python访问SqlServer的方法介绍
2015/03/10 Python
Python获取当前页面内所有链接的四种方法对比分析
2017/08/19 Python
python 根据时间来生成唯一的字符串方法
2019/01/14 Python
Appium Python自动化测试之环境搭建的步骤
2019/01/23 Python
Python中print和return的作用及区别解析
2019/05/05 Python
python识别图像并提取文字的实现方法
2019/06/28 Python
python多线程高级锁condition简单用法示例
2019/11/07 Python
python怎么判断素数
2020/07/01 Python
Python爬虫之Selenium实现关闭浏览器
2020/12/04 Python
Fossil加拿大官网:化石手表、手袋、首饰及配饰
2019/04/23 全球购物
Belvilla法国:休闲度假房屋出租
2020/10/03 全球购物
工业学校毕业生自荐书
2014/01/03 职场文书
2014年机关党建工作总结
2014/11/11 职场文书
汇报材料怎么写
2014/12/30 职场文书
演讲比赛通讯稿
2015/07/18 职场文书
ztree+ajax实现文件树下载功能
2021/05/18 Javascript
MySQL不使用order by实现排名的三种思路总结
2021/06/02 MySQL