经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Django » 查看文章
python3+django2开发一个简单的人员管理系统过程详解
来源:jb51  时间:2019/7/23 11:20:52  对本文有异议

一、基础环境准备

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

二、创建工程和应用

  1. django-admin.py startproject qiakrcmdb #工程名称
  2. cd qiakrcmdb
  3. django-admin.py startapp userinfo #应用名称

三、应用配置

3.1、修改工程配置文件(qiakrcmdb/settings.py)

#添加我们创建的应用userinfo

  1. INSTALLED_APPS = [
  2. 'django.contrib.admin',
  3. 'django.contrib.auth',
  4. 'django.contrib.contenttypes',
  5. 'django.contrib.sessions',
  6. 'django.contrib.messages',
  7. 'django.contrib.staticfiles',
  8. 'userinfo',
  9. ]

注释 csrf 校验

  1. MIDDLEWARE = [
  2. 'django.middleware.security.SecurityMiddleware',
  3. 'django.contrib.sessions.middleware.SessionMiddleware',
  4. 'django.middleware.common.CommonMiddleware',
  5. #'django.middleware.csrf.CsrfViewMiddleware',
  6. 'django.contrib.auth.middleware.AuthenticationMiddleware',
  7. 'django.contrib.messages.middleware.MessageMiddleware',
  8. 'django.middleware.clickjacking.XFrameOptionsMiddleware',
  9. ]

修改连库配置默认 sqlite3 改mysql

  1. DATABASES = {
  2. 'default': {
  3. 'ENGINE': 'django.db.backends.mysql',
  4. 'NAME': 'userinfo',
  5. 'USER': 'root',
  6. 'PASSWORD': '123456',
  7. 'HOST': '127.0.0.1',
  8. 'PORT': '3306',
  9. }
  10. }
  11. LANGUAGE_CODE = 'zh-Hans'
  12.  
  13. TIME_ZONE = 'Asia/Shanghai'

允许所有IP访问

  1. ALLOWED_HOSTS = ['*']

3.2、定义用户信息的数据模型(也就是字段名和数据类型)userinfo/models.py

  1. from django.db import models
  2.  
  3. class User(models.Model):
  4. GENDER_CHOICES=(
  5. ('男','男'),
  6. ('女','女'),
  7. )
  8. name=models.CharField(max_length=30,unique=True,verbose_name='姓 名')
  9. birthday=models.DateField(blank=True,null=True,verbose_name='生 日')
  10. gender=models.CharField(max_length=30,choices=GENDER_CHOICES,verbose_name='性 别')
  11. account=models.IntegerField(default=0,verbose_name='工 号')
  12. age=models.IntegerField(default=18,verbose_name='年 龄')

3.3、初始化模型数据库并生成数据库文件

简言之:在Django 1.9及未来的版本种使用migrate代替原先的syscdb.

python3 ./manage.py migrate

3.4、显示注册信息修改默认标题(hostinfo/admin.py)

  1. from django.contrib import admin
  2. from userinfo.models import User
  3.  
  4. class HostAdmin(admin.ModelAdmin):
  5. list_display = [
  6. 'name',
  7. 'age',
  8. 'birthday',
  9. 'gender',
  10. 'account',
  11. ]
  12. search_fields = ('name',)
  13. admin.site.register(User,HostAdmin)
  14. admin.AdminSite.site_header ='运维系统管理后台'
  15. admin.AdminSite.site_title = '运维系统'

3.6 添加应用的url访问(qiakrcmdb/urls.py)

  1. from django.contrib import admin
  2. from django.urls import path
  3.  
  4. urlpatterns = [
  5. path('admin/', admin.site.urls),
  6. ]

3.7 创建用户表

  1. USER userinfo;
  2. CREATE TABLE `userinfo_user` (
  3. `id` int(19) NOT NULL AUTO_INCREMENT,
  4. `name` varchar(50) NOT NULL,
  5. `birthday` varchar(100) NOT NULL,
  6. `gender` varchar(50) NOT NULL,
  7. `account` varchar(50) NOT NULL,
  8. `age` int(19) NOT NULL,
  9. PRIMARY KEY (`id`)
  10. ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;

django 连数据库 提示找不到MySQLdb模块解决

  1. python3 -m pip install pymysql

找到qiakrcmdb/userinfo/__init__.py,在里面输入以下内容并保存:

  1. import pymysql pymysql.install_as_MySQLdb()

四、启动Django服务

python3 manage.py runserver 0.0.0.0:81

http://127.0.0.1:81/admin/

创建管理员帐号

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

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

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

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号