zoukankan      html  css  js  c++  java
  • 测试平台开发(一)Django项目创建和基本配置

    一、安装Django最新版本

    1 pip install django

    二、创建Django项目

    首先进入要存放项目的目录,再执行创建项目的命令

    1 django-admin startproject testplatform

    三、Django项目目录详解

    1 testplatform
    2  ├── testplatform  # 项目的容器
    3  │    ├── __init__.py  # 一个空文件,告诉 Python 该目录是一个 Python 包。
    4  │    ├── asgi.py    # 一个 ASGI 兼容的 Web 服务器的入口,以便运行你的项目。
    5  │    ├── settings.py  # 该 Django 项目的设置/配置。
    6  │    ├── urls.py    # 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
    7  │    └── wsgi.py    # 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
    8  └── manage.py    # 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。

    四、运行项目

    使用Pycharm打开项目,虚拟环境自行配置(参考:Python在Windows创建虚拟环境)

    Django官网写的是在项目根目录使用命令行执行 python manage.py runserver 0.0.0.0:8000 来启动项目,但使用工具会更方便

     进入浏览器输入http://127.0.0.1:8000,出现下面这个页面就说明项目运行成功。

    五、开发前settings.py文件的一些配置

    1.修改 ALLOWED_HOSTS 这个列表,这个列表中存放的是可以访问该项目的IP地址或域名,在本地开发的时候指定为*就可以,代表所有IP或域名都可以访问

    1 ALLOWED_HOSTS = ["*"]

    2.注释 MIDDLEWARE 列表中的 django.middleware.csrf.CsrfViewMiddleware 这一行,这是django自带的安全认证机制,但是不安全所以不用它

    1 MIDDLEWARE = [
    2      'django.middleware.security.SecurityMiddleware',
    3      'django.contrib.sessions.middleware.SessionMiddleware',
    4      'django.middleware.common.CommonMiddleware',
    5      # 'django.middleware.csrf.CsrfViewMiddleware',  # 就是这一行,注释掉!!!
    6      'django.contrib.auth.middleware.AuthenticationMiddleware',
    7      'django.contrib.messages.middleware.MessageMiddleware',
    8      'django.middleware.clickjacking.XFrameOptionsMiddleware',
    9  ]

    3.开启跨域

    3.1 安装pip install django-cors-headers

    pip install django-cors-headers

    3.2 加入INSTALLED_APPS列表中

    INSTALLED_APPS = [
        ……,
        'corsheaders',
    ]

    3.3 在MIDDLEWARE列表'django.contrib.sessions.middleware.SessionMiddleware'和'django.middleware.common.CommonMiddleware'的中间加入'corsheaders.middleware.CorsMiddleware'

    MIDDLEWARE = [
        'django.middleware.security.SecurityMiddleware',
        'django.contrib.sessions.middleware.SessionMiddleware',
        'corsheaders.middleware.CorsMiddleware',    # 加在这里!
        'django.middleware.common.CommonMiddleware',
        # 'django.middleware.csrf.CsrfViewMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
        'django.contrib.messages.middleware.MessageMiddleware',
        'django.middleware.clickjacking.XFrameOptionsMiddleware',
    ]

    3.4 在settings.py文件中添加白名单,可以指定所有域名ip都可以访问,也可以指定域名和ip列表。两者不能同时存在

    # 添加白名单
    # CORS_ORIGIN_ALLOW_ALL = True:指定所有域名ip都可以访问后端接口
    CORS_ORIGIN_ALLOW_ALL = True  
    
    # 指定能访问后端接口的ip或域名列表
    # CORS_ORIGIN_WHITELIST = ['127.0.0.1',……]

    3.5 开启允许跨域,在settings.py文件中加入

    # 允许跨域时携带Cookie,默认为False
    CORS_ALLOW_CREDENTIALS = True

    4.将语言改为中文,LANGUAGE_CODE 的值改为zh-Hans

    1 LANGUAGE_CODE = 'zh-Hans'

    5.连接MySQL

    5.1 安装连接MySQL的依赖包 mysqlclient

    pip install mysqlclient

    5.2修改 DATABASES 字典中的数据库连接信息,项目被创建后跟目录下会默认有一个sqlite3数据库,这个字典也默认连接的是这个数据库,使用MySQL创建一个新数据库,这里将其改为自己刚创建的数据库信息

     1 DATABASES = {
     2     'default': {
     3         'ENGINE': 'django.db.backends.mysql',   # 指定MySQL引擎
     4         'NAME': 'mydata',   # 数据库名称
     5         'USER': 'root',     # 用户名
     6         'PASSWORD': 'root',     # 密码
     7         'HOST': '127.0.0.1',    # 数据库服务器IP
     8         'PORT': '3306',     # 端口
     9     }
    10 }

    6.数据库迁移,就是将定义好的数据模型在数据库创建对应的数据表,在命令行中依次执行以下命令

    1 python manage.py makemigrations  # 将我们自己创建的应用目录中model.py里面的模型类生成迁移文件,这里我们并没有创建文件,只是提前解释一下
    2 python manage.py migrate  # 根据数据库迁移我呢见生成对应的SQL语句并执行

    或者使用Pycharm自带的功能操作(建议用!)

    7.检查数据库,在没有创建应用数据模型之前,这些被创建的数据表都是Django自身要用到的

    8.重启项目即可

    GitHub持续更新:地址https://github.com/debugf/testplatform

     转载请注明出处,商用请征得作者本人同意,谢谢!!!

  • 相关阅读:
    《游戏引擎构架Game Engine Architecture》略读笔记
    Visual Studio快速入门(大纲)
    Linux课程学习 第四课
    Linux课程学习 第三课
    Linux课程学习 第二课
    vmware虚拟机安装centos7.3
    Win7 Linux双系统,恢复Linux启动项
    Java中Collection、Map常用实现类研究分析
    数据库计算每个表所占空间和记录数
    tomcat中部署多个项目,webAppRootKey 参数配置
  • 原文地址:https://www.cnblogs.com/debugf/p/13287984.html
Copyright © 2011-2022 走看看