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
猜你喜欢
- 背景:pony是公司的首席体验官、首席产品经理。这次在产品峰会上pony将自己平时经验的积累与大家交流,体验较细。这次分享研发管理部,设计中
- 尽管某些书籍上总是说避免使用全局变量,但是在实际的需求不断变化中,往往定义一个全局变量是最可靠的方法,但是又必须要避免变量名覆盖。Pytho
- MySQL Group By用法我们现在回到函数上。记得我们用 SUM 这个指令来算出所有的 Sales (营业额)吧!如果我们的需求变成是
- typing库一、 简介Python是一门弱类型的语言,很多时候我们可能不清楚函数参数类型或者返回值类型,很有可能导致一些类型没有指定方法,
- 这阵子没有精力完整翻译和发到译言( 现下正渐入状态,预计写博客量会逐步提升回来),简短做一个概要翻译,为近期工作需要做一个参考。
- 如何通过表单创建一个Word?举个例子吧,我们先创建一个表单文件docform.htm,再用ASP程序(doccreate.asp)来处理表
- 字典由多个键及与其对应的值构成的对组成(把键值对成为项),每个键和它的值之间用冒号(:)隔开,项之间用逗号(,)隔开,而整个字典由一对大括号
- 前言提示:以下是本篇文章正文内容🍒PIL库概述PIL库支持图像存储、 显示和处理, 它能够处理几乎所有图片格式, 可以完成对图像的缩放、 剪
- 这个阶段一直在做和梯度一类算法相关的东西,索性在这儿做个汇总:一、算 * 述梯度下降法(gradient descent)别名最速
- Q:在给Dataloader设置worker数量(num_worker)时,到底设置多少合适?这个worker到底怎么工作的?
- 内网的主机都是自动分配ip地址,有时候需要查看下有那些ip在使用,就写了个简单的脚本。linux和windows下都可以用,用多线程来pin
- 本文实例总结了Python实现string字符串连接的方法。分享给大家供大家参考,具体如下:以下基于python 2.7版本,代码片段真实有
- 1.如何通过地址栏参数来得到模块名称和控制器名称(即使在有路由和开了重写模块的情况下)2.tp是如何实现前置,后置方 * 能模块,和如何执行带
- 如何编写一个只在Web服务关闭时执行的程序?如:<SCRIPT LANGUAGE="VBScript"&
- 当来自应用程序的第一个连接控制锁而第二个连接需要相冲突的锁类型时,将发生阻塞。其结果是强制第二个连接等待,而在第一个连接上阻塞。不管是来自同
- 这篇文章主要介绍了python文字和unicode/ascll相互转换函数及简单加密解密实现代码,下面我们来了解一下。import reim
- 前言首先,我们开发的项目会有多个版本.其次,我们的项目版本会随着更新越来越多,我们不可能因出了新版本就不维护旧版本了.那么,我们就需要对版本
- 环境:【wind2003[open Tftp server] + virtualbox:ubuntn10 server】tftp
- 1.怎么样查看数据库字符集 [A]数据库服务器字符集select * from nls_database_parameters,其来源于pr
- 受杰森的《Almost Looks Like Work》启发,我来展示一些病毒传播模型。需要注意的是这个模型并不反映现实情况,因此不要误以为