Django相关知识

Django 相关内容

[TOC]

Part 1. 运行环境等问题

1. Django 中无法加载环境变量问题

暂时查不到解决办法, 应该是初级问题, 网上答案很诡异, 都是在配置Django的环境变量, 完全get不到点

每次命令行要重启下

2. MySQL 真正UTF-8支持

  1. 设置数据库编码为utf8mb4, 如果表已创建, 可以使用以下SQL语句更改

    ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4;
  2. 设置 Django 的 setting.py 文件中 Databse设置, 使连接也为真正UTF8, 加一个 OPTIONS 选项, 在里面设置编码

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'dj',
            'USER': USERNAME,
            'PASSWORD': PASSWORD,
            'HOST': '127.0.0.1',
            'PORT': '3306',
            'OPTIONS' : { 'charset' : 'utf8mb4' }
        }
    }

3. 网络部署问题

工作流程:

  1. 本地写代码, git上传到搭建的git服务器上
  2. 服务器上安装Django虚拟环境, 安装uWSGI库, 安装Nginx, 用来跑项目

局域网搭建服务器流程:

  1. Ubuntu 安装
  2. ssh 安装
  3. 安装pip, virtualenv
  4. 建立Python虚拟环境, 安装Django, uWSGI等, 配置uWSGI相应文件, 并运行测试下
  5. 安装Nginx, 配置Nginx指向uWSGI及Django项目等, 测试运行
  6. 外网访问: setting.py中设置ALLOWD_HOST = ['*'], IPV6可以直接外网访问

UWSGI配置其他, Nginx安装与配置这些可以展开写一些内容

局域网搭建Git服务器也可以展开写一些

uWSGI 安装与配置

安装
配置
常用命令

启动, 停止, 重启

Nginx 安装与配置

安装
配置
常用命令

启动, 停止, 重启

MariaDB 安装与配置

安装
配置
常用命令

启动, 停止, 重启

Git 服务器安装与相关配置

服务器上安装Git
设置专用的Git账户

Django开发流程:

  1. 服务器端初始化一个git仓库

    git init
  2. 设置仓库接受代码提交

    git config receive.denyCurrentBranch ignore
  3. 设置服务器仓库git提交操作后自动更新的/hook/post-receive. 并且注意改变为可执行模式

    #!/bin/sh
    unset GIT_DIR
    cd ..
    git checkout -f
  4. 本地编辑代码后push到服务器(注意先在本地收集静态文件)

Part 2: Django 框架中问题

1. Models 模型

  1. 编辑 models.py 文件, 改变模型
  2. 运行 python manage.py makemigrations 为模型的改变生成迁移文件
  3. 运行 python manage.py migrate 来应用数据库迁移

使用Python的数据模型对象可以用filter或get返回对象, filter更像常规的用法, 返回空列表或者对应的数据, get返回可能会报错, 并且通过属性+双下划线的方式来标识某些条件, 在我看来并不优雅, 看似小聪明, 感觉并不利于维护

2. 模板系统

模板系统有点啰嗦, 已经是在对应的app的templates目录下了, 还要在建一个对应的名字的文件夹来区分命名空间

Par