Django 项目构建 随笔(一)自供 快速回忆 Linux

前言

之前一段时间使用django框架开发了的一些简单的工业系统,当时是边学习边开发。现在打算开始重新再系统性的整理一下,业余时间重新构建一套web系统。这里随笔记录一下觉得对自己有用的信息。

供自用,只记录开发django应用过程中重要的部分,或者说开发流程中关键的点,用于帮助自己之后快速回忆。

1)创建项目 Django web project

这里不记录如何安装Django库包,自行解决。使用的是3.0版本。

创建项目的过程:

  1. 创建Django 项目
    django-admin startproject my_django_project
  2. 创建app
    django-admin startapp my_app

以上执行之后便会获得包含一个django_app应用的基本django目录和基本文件。

2)设置数据库,迁移数据库

setting.py文件中配置数据库的基本信息,新建的app记得也再相应位置添加进去。

mysql数据库的设置demo


DATABASES = {
    'default':{
        'ENGINE' :'django.db.backends.mysql',
        'NAME':'数据库名',
        'USER':'用户名',
        'PASSWORD':'数据库密码',
        'HOST':'ip',
        'PORT':'端口'
        }
}

另外要先安装pymysql,并在主项目的__init文件中设置替代语句

import pymysql
pymysql.install_as_MySQLdb()

执行命令 makemigratiins 生成迁移变化,原理是检测app目录中models文件内容和app/migrations目录中最后一次生成的迁移记录文件的内用的变化,生成新的迁移文件。

  1. 生成迁移文件
    python manage.py makemigrations
    
  2. 执行迁移内容
    python manage.py migrate

项目主目录下的manage.py 文件包含了一系列django的内置指令。

初次的migrate 会在数据库中生成django自带的一些表格,用户、权限、组、会话等等一些表。

makemigrations 和 migrate 对于多数据库,多app 的情况时,在使用的时候还要添加更多的参数来表明检查或执行的是哪些app的models和迁移到哪个数据库中。此外多数据库的情况还要添加新的文件和设置,之后展开。

注意:在执行数据库相关指令之前请自行配制好相关数据库的安装,如下给出一些Linux上git相关和mysql安装相关的指令。

Linux 服务器上的一些相关操作 指令

Linux使用的Ubuntu,centos请自行切换相关关键字

1)  Git 一些操作

安装git

apt install git

配置git相关设置,git登陆github账号

git config --global user.name "XXXX"
git config --global user.email "XXX@xxx.xx"

从github上克隆项目,拉取项目到服务器上。或创建ssh key 来克隆项目会更加稳定

git clone https:***************.git

SSH 方式
cd ~/.ssh 
ls         显示目录下文件,检查是否存在id_dsa和id_dsa.pub文件 注意id_dsa内容千万不要传给其他人
ssh-keygen -t rsa -C "git邮箱"   生成ssh key 文件
cat id_dsa.pub     显示id_dsa.pub里面的内容 复制之后再github里创建新的ssh key时会用到

检查当前目录git的历史上传日志情况 各时期版本

git log

检查stage工作区是否有未提交的commit

git status

拉取总分支的更新,同步代码变动到服务器

git pull origin master

注意:执行git操作时,要在对应项目的git主目录里

以上为拉取code变动到本地的过程,以下为推送变动到git仓库指令

捕获更新变动

git add .
git commit -m '更新内容解释,不要懒,请加上解释'

推送变动

git push origin master

2)MySQL 一些操作

安装mysql

apt install mysql

mysql 数据库创建Database,django的setting文件对数据库的设定中有包含数据库名称的设定。

mysql create database my_database charset=utf8;
charset=utf8mb4 设置编码格式

mysql 后续指令其实就是sql相关语句,注意结尾要加;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!

注意:Django项目里如果使用pymysql的做数据库连接引擎的话,需修改项目的__init__.py文件,添加下属信息:

import pymysql
pymysql.install_as_MySQLdb

且安装mysqlclient,如果安装报错请先按下面注意事项安装msql dev环境后再执行此语句安装mysqlclient

pip3 install mysqlclient

注意:linux上除了安装mysql外,还要安装好其dev环境

sudo apt install libmysqlclient-dev

最好单独给mysql配置型的用户

CREATE USER 'test'@'localhost' IDENTIFIED BY 'test'; 撞见新用户和用户名,这里为本地用户

然后赋予权限给新建的用户
use test_db; 选中所想让其拥有权限额度数据库
GRANT all privileges ON test_db.* TO 'test'@'localhost'; 赋予该用户对于test_db数据库所有的权限
flush privileges; 更新权限表
其他相关配置参数请百度 

如果django 项目 migrate 的时候遇到下述报错,侧是权限问题,请安上面的代码给全权限且刷新权限组。

(1142, "CREATE command denied to user 'xxx'@'localhost' for table 'django_migrations'")

(1045, "Access denied for user 'xxx'@'localhost' (using password: YES)

注意:连接其他服务器上的mysql时本地也需要安装mysql-client

目录网址 https://downloads.mysql.com/archives/community/ 
在目录里找到对应的安装包 复制其左下角的括号里的版本代码,在linux里用以下指令安装
apt install mysql-client

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值