python3+django2开发一个简

2020-01-03 16:09:01 浏览数 (1)

一、基础环境准备

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 

代码语言:javascript复制
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'userinfo',
]

注释 csrf 校验

代码语言:javascript复制
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

代码语言:javascript复制
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', 
        'NAME': 'userinfo',                      
        'USER': 'root',
        'PASSWORD': '123456',
        'HOST': '127.0.0.1',                      
        'PORT': '3306',                 
    }
}
代码语言:javascript复制
LANGUAGE_CODE = 'zh-Hans'

TIME_ZONE = 'Asia/Shanghai'

允许所有IP访问

代码语言:javascript复制
ALLOWED_HOSTS = ['*']

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

代码语言:javascript复制
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)

代码语言:javascript复制
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)

代码语言:javascript复制
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    #根据提示输入帐号和密码

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

记录下学习过程.........

0 人点赞