美文网首页
MocOs:Django(搭建和模型创建)

MocOs:Django(搭建和模型创建)

作者: S_jie | 来源:发表于2020-06-12 15:36 被阅读0次

    打开终端创建一个虚拟环境

    # 进入项目目录创建一个虚拟环境
    cd /xxx/xxx/Documents/BaseVenv/
    python3 -m venv venv(项目名称)
    # 进入虚拟环境
    source venv/bin/activate
    # 退出虚拟环境
    deactivate
    

    下载django环境

    # 下载2.2最新的版本
    pip3 install django==2.2.*
    # 下载超时的用下面方法
    pip3 install django==2.2.* -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
    # 下载django链接mysql数据库驱动
    pip3 install mysqlclient
    # 创建项目
    django-admin startproject demo
    # 进入创建的项目里
    cd demo/
    # 创建app
    python3 manage.py startapp demoapp
    # 创建模板
    mkdir templates
    # 创建存放静态文件的文件夹
    mkdir static
    

    配置django里的settings信息

    # 在INSTALLED_APPS里增加新建的app名称
    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'demoapp',
    ]
    
    # 增加模板地址
    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [os.path.join(BASE_DIR, 'templates')],
            'APP_DIRS': True,
            'OPTIONS': {
                'context_processors': [
                    'django.template.context_processors.debug',
                    'django.template.context_processors.request',
                    'django.contrib.auth.context_processors.auth',
                    'django.contrib.messages.context_processors.messages',
                ],
            },
        },
    ]
    
    # 配置数据库信息
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',  # 需要连接的数据库
            'NAME': 'mydb',  # 数据库名称
            'USER': 'root',
            'PASSWORD': 'HEIxiaojie.',
            'HOST': '127.0.0.1',
            'PORT': '3306',
        }
    }
    
    # django时区设置
    TIME_ZONE = 'Asia/Shanghai' 
    
    # 设置语言 
    LANGUAGE_CODE = 'zh-Hans'
    

    配置静态文件打开/demo/settings.py 133行

    STATIC_URL = '/static/'
    STATICFILES_DIRS = [
        os.path.join(BASE_DIR, "static"),
    ]
    

    配置主路由

    # 项目文件下的urls.py
    from django.contrib import admin
    from django.urls import path, include
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('', include('demoapp.urls'))
    ]
    

    配置子路径

    from django.urls import path
    from . import views
    
    urlpatterns = [
        path('', views.index)
    ]
    
    

    配置视图函数

    from django.shortcuts import render
    from django.http import HttpResponse
    
    # Create your views here.
    
    
    def index(requset):
    
        return HttpResponse('欢迎会到django')
    

    打开终端启动django后台

    python3 manage.py runserver
    

    访问http://127.0.0.1:8000/收到以下页面

    1.jpg
    进入mysq
    # 查看当前数据库
    show databases;
    # 删除mydb
    drop database mydb;
    # 重现创建mydb
    create database mydb default charset=utf8mb4;
    
    # 切换数据库
    use 数据库名称;
    # 查看表
    show tables;
    # 查看表结构
    desc xxx;(表名称)
    # 创建成功后退出mysql
    \q;
    # 删除表里数据
    delete from myadmin_user(表名) where id = 3;
    

    在项目里配置models

    from django.db import models
    
    # Create your models here.
    
    
    class Users(models.Model):
        name = models.CharField(max_length=5)
        email = models.EmailField()
        phone = models.CharField(max_length=11)
        age = models.IntegerField()
        SEX_CHIOCES = [(1, '男'), (0, '女')]
        sex = models.IntegerField(choices=SEX_CHIOCES)
        # 用户创建时间
        createtime = models.DateTimeField(auto_now_add=True)
        # 更新时间
        update = models.DateTimeField(auto_now=True)
    

    数据迁移

    # 打开终端进入虚拟环境下的项目里
    cd /Users/shujie/Documents/venv/demo/
    # 生成迁移文件
    python3 manage.py makemigrations
    # 执行数据迁移
    python3 manage.py migrate
    

    常见的坑

    MacOs下载mysqlclient报错


    1.jpg
    # 解决方法: 分别执行下面两个命令
    brew config openssl
    brew info openssl
    # 查看第二个命令中出现的一下信息
    For compilers to find openssl@1.1 you may need to set:
      export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
      export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"
    # 在终端执行下面两句export
    

    连接启动服务报错

    # django.db.utils.OperationalError: (2003, "Can't connect to MySQL server on '127.0.0.1' (61)")
    # 重启mysql服务
    brew services restart mysql@5.7

    相关文章

      网友评论

          本文标题:MocOs:Django(搭建和模型创建)

          本文链接:https://www.haomeiwen.com/subject/oqwgtktx.html