Django快速创建demo +mysql

232 阅读1分钟

1. 首先创建虚拟环境

    1.  pip3 install virtualenv # 安装
    2.  virtualenv # 测试安装是否成功
    3.  virtualenv -p python3.9 ~/Desktable/venv # 指定虚拟环境文件夹目录
    4.  source venv/bin/activate # 激活虚拟环境
    5.  命令行改变为venv+目录 # 激活成功

2. 创建项目(在虚拟环境激活后执行)

    1.  pip3 install django # 安装
    2.  django-admin startproject testrd # 任意位置创建项目
    3.  python3 manage.py startapp user 创建user模块
    4.  python3 manage.py runserver # 本地访问  + 0.0.0.0:8000 ip 访问
    5.  如果ip访问 需要在 settings.py ALLOWED_HOSTS = ['*']

3. app模块创建 user

i. models.py

from django.db import models 
class User(models.Model):
    id = models.AutoField(primary_key=True)
    username = models.CharField(max_length=10, unique=True)
    password = models.CharField(max_length=15)
    description = models.CharField(max_length=50)

ii. views.py

import json

from django.core import serializers
from django.http import HttpResponse
from django.shortcuts import render
from user.models import User

def search(request):
    if request.method == 'GET':
        result = {"message": 'success', "code": '0', "data": []}
        ls = User.objects.all()
        json_data = serializers.serialize('json', ls)
        result['data'] = json_data;
        return HttpResponse(json.dumps(result), content_type="application/json")

iii. urls.py

from django.urls import path
import user.views 
urlpatterns = [
    path('/search', user.views.search), 
]

4. 连接mysql

i. pymysql

    pip3 install pymysql
    user文件夹下 __init__.py中:
    import pymysql
    pymysql.install_as_MySQLdb()

ii. settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'test', # 数据库名 存在
        'HOST': '',#ip地址
        'PORT': '3306',#端口
        'USER': 'root',#mysql用户
        'PASSWORD': '123456'#mysql密码 
    } 
}

iii. 数据库同步,

    python manage.py makemigrations
    python manage.py migrate

5. 允许跨域访问(前端项目直接访问即可)

    pip3 install django-cors-header
    settings.py
        INSTALLED_APPS = [
            # 在请求上边 
            'corsheaders', 
            --- 
        ]
         MIDDLEWARE = [ 
             ... 
             'corsheaders.middleware.CorsMiddleware' , # 注册中间件 
             'django.middleware.common.CommonMiddleware',
             ... 
         ]
         CORS_ALLOW_CREDENTIALS = True 
         CORS_ORIGIN_ALLOW_ALL = True# 允许全部来源
         CORS_ALLOW_METHODS = ( 'DELETE', 'GET', 'OPTIONS', 'PATCH', 'POST', 'PUT', 'VIEW', ) 
         CORS_ALLOW_HEADERS = ( 'accept', 'accept-encoding', 'authorization', 'content-type', 'dnt', 'origin', 'user-agent', 'x-csrftoken', 'x-requested-with', )

6. requirements.txt

    生成 pip3 freeze > requirements.txt
    安装 pip3 install -r requirements.txt