python3+django2开发一个简

发布时间:2019-09-23 17:09:11编辑:auto阅读(1764)

    一、基础环境准备

    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/

    image.png


    创建管理员帐号

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


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

    image.png


    image.png


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

关键字