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

2020-06-12  本文已影响0人  S_jie

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

# 进入项目目录创建一个虚拟环境
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
上一篇 下一篇

猜你喜欢

热点阅读