python3+django2开发一个简单的人员管理系统过程详解
作者:jiangxianliang 发布时间:2022-06-01 08:04:01
一、基础环境准备
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 #根据提示输入帐号和密码
登录成功后即可添加对应的信息到系统中;
来源:https://blog.51cto.com/1576349/2064615


猜你喜欢
- 这货很强大, 必须掌握文档 链接 http://docs.python.org/2/library/itertools.htmlpymotw
- 前言在MySQL中跨库查询主要分为两种情况,一种是同服务的跨库查询;另一种是不同服务的跨库查询;它们进行跨库查询是不同的,下面就具体介绍这两
- bufio 包介绍 bufio包实现了有缓冲的I/O。它包装一个io.Reader或io.Writer接口对象,创建另一个也实现了
- 前言本文主要给大家介绍了关于Python3列表方法的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。1 使用[]或
- 摘要: 本文由简到繁地介绍了以jQuery作为蓝本的js框架开发步聚, 希望借助本文大家对jQuery这样的框架内部有一个大致的认识。推荐:
- 猜测下面这段程序的输出:class A(object): def __init__(self):
- 前言复习试题时,发现一道复数问题问题关于 Python 的复数类型,以下选项中描述错误的是A复数的虚数部分通过后缀“J”或者“j”来表示B对
- 一、加载库首先加载torch库,进入python后加载库使用import导入【import 库名】二、sin值计算方法pytorch中的si
- 默认情况下,TensorFlow 会映射进程可见的所有 GPU 的几乎所有 GPU 内存(取决于 CUDA_VISIBLE_DEVICES)
- Python实现对变位词的判断,供大家参考,具体内容如下什么是变位词呢?即两个单词都是由相同的字母组成,而各自的字母顺序不同,譬如pytho
- 测试用例(1) 测试用例(2)代码如下(python):# coding=utf-8from appium import webd
- 背景在做deeplearning过程中,使用caffe的框架,一般使用matlab来处理图片(matlab处理图片相对简单,高效),用pyt
- 本文实例为大家分享了基于信息增益的决策树归纳的Python实现代码,供大家参考,具体内容如下# -*- coding: utf-8 -*-i
- 1. 错误的类型Error: 所有错误的父类型错误的子类型包括:ReferenceError: 引用的变量不存在TypeErro
- 在平常的项目中,经常会碰到这样的问题:我需要在一张标中同时更新和查询出来的数据。例如:有如下图一张表数据,现在需要更新操作为:把status
- 一、需求说明在Python程序的开发过程中,一些程序需要获取函数或程序的开始时间、结束时间和时间间隔等内容用来分析和处理内容二、需求分析涉及
- 一、前言Python提供两种方法进行字符串格式化1、利用百分号来格式化字符串,现在Python已停止更新这种方法2、字符串的format方法
- 有时候在使用Python处理比较耗时操作的时候,为了便于观察处理进度,这时候就需要通过进度条将处理情况进行可视化展示,以便我们能够及时了解情
- 一个方便的特性是你可以给一个视图指定默认的参数。 这样,当没有给这个参数赋值的时候将会使用默认的值。例子:# urls.pyfrom dja
- 实验室导师又有任务,从一个.dat文件中读取波形数据,通过一个自编码网络进行异常检测。可是对我这种小白来说真的艰难。从最基础的文件读写开始吧