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

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

  • 相关阅读:
    VS2008 环境中完美搭建 Qt 4.7.4 静态编译的调试与发布 Inchroy's Blog 博客频道 CSDN.NET
    编写可丢弃的代码
    c++ using namespace std; 海明威 博客园
    解决MySQL server has gone away
    nginx upstream 调度策略
    (2006, 'MySQL server has gone away') 错误解决 dba007的空间 51CTO技术博客
    Linux IO模型漫谈(2) 轩脉刃 博客园
    redis源码笔记 initServer 刘浩de技术博客 博客园
    MySQLdb批量插入数据
    词库的扩充百度百科的抓取你知道这些热词吗? rabbit9898 ITeye技术网站
  • 原文地址:https://www.cnblogs.com/debugf/p/13287984.html
Copyright © 2011-2022 走看看