Django的简介


MVT模式的介绍

创建项目的虚拟环境

本次使用的是pip安装

一、更新

sudo apt update

二、安装pip

sudo apt install python3-pip

三、升级pip(可忽略)

sudo python3 -m pip install --upgrade pip

参考链接:https://my.oschina.net/doctorlzr1988/blog/1560215

四、安装virtualenv、virtualenvwrapper

sudo pip3 install virtualenv virtualenvwrapper

五、配置virtualenv

编辑.bashrc

vim .bashrc

末尾添加

export WORKON_HOME=($HOME)/env #根据自己情况虚拟环境目录的位置修改,我在本目录新建了env做存放
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 source
/usr/local/bin/virtualenvwrapper.sh

然后

source .bashrc

六、创建虚拟环境

cd env mkvirtualenv py3dj11 #py3dj11是我用来标识这个环境用途的虚拟环境
workon py3dj11 #切换到虚拟环境

七、安装django

pip3 install django // 后面添加==1.11.11 可以指定版本号,否则为最新

#这个安装是安装到虚拟目录里面去的,本地python3没有这个模块,所以不切换环境,是没有django的 好了,环境搭建成功!
因为不同项目可能使用不同版本的django,要使项目所需要的第三方虚拟环境相互分离

开启一个虚拟环境:
django-admin startproject testproject_t // testproject_t文件夹名称

work on // 显示已经安装的虚拟环境
rmvirtualenv 环境名 // 删除已经安装的虚拟环境
deactivate // 退出当前环境
work on 环境名 // 切换环境

创建完之后用pycharm打开这个文件夹testproject_t:

此时启用服务器,cd到对应文件夹,用tree可以看文件树:

python manage.py runserver

打开本地网址127.0.0.1可以看到链接成功,ctrl+c退出服务器;

创建模块,其中user是模块名:

python manage.py startapp user

会自动创建好其中的内容


创建完模块之后必须在setting,py链接,否则无法使用:

还有配置python环境,修改为虚拟环境下的python:

在setting.py可以设置语言和时区

在apps.py里可以设置后台管理界面apps的名字改为中文:

class UserConfig(AppConfig):
name = 'user'
verbose_name = '用户管理'

开始写
models.py是数据库模型,在里面写要配置的数据库表

然后在admin.py先导入后注册刚刚创建的表:

迁移数据库文件:

python manage.py makemigration //
python manage.py migrate //


然后创建一个管理员账户:

python manage.py createsuperuser // 创建超级用户,之后会让你输入名字,邮件密码

运行服务器:

python manager.py runserver --host 127.0.0.1 --port 8000 // 绑定ip和端口

然后打开管理员网址,登录刚刚注册的账户密码,就可以看到数据库

链接MySQL

在setting文件修改数据库为mysql,默认数据库为sqlite:
NAME是数据库名字,USER是登录数据库的账户,之后是密码,HOST和PORT不改则为默认值

这里要记住安装pymysql和mysqlclient
在init.py修改

出现这个错误代码时: django.db.utils.OperationalError: (1045:Access denied for user ‘root’@‘localhost’ (using password: NO)

这个错误看网上的说法基本都是由于 数据库的 用户名 和 密码 不正确导致的 ,下面是我在Django Setting.py里的设置:

DATABASES = {
‘default’: {
‘ENGINE’: ‘django.db.backends.mysql’,
‘NAME’: ‘mydatabase’,
‘USER’: ‘root’,
‘PASSWORD’: ‘123456’,
‘HOST’: ‘localhost’,
‘PORT’: ‘3306’,
}}

这时候进行数据迁移,发现无法链接数据库并且产生了上述的错误代码。

通过启动 mysql 服务, 发现 用户名和密码都正确并且可以使用。

由于Mysql 8.0 的部分语法,密码的加密方式发生了改变,在8.0 中的用户密码采用的是cha2 加密方法。

有可能 是 Django 对这种加密的密码进行编译导致密码设置密码错误。

ALTER USER ‘root’@‘127.0.0.1’ IDENTIFIED WITH mysql_native_password BY ‘password’;

在Mysql 8.0 中,利用上述语句可以更新用户的加密方式为过去版本的方式。执行命令如下:

mysql -u root -p
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'newpassword';
FLUSH PRIVILEGES;

即可修改mysql密码

最后在网页修改的数据库内容可以在本地终端用mysql查看

可以再pycharm右边的database添加mysql,也可以查看

如果没有设置表名,则固定为app名_模块名为表名

要修改表名的话,在models.py进行修改,然后记得数据库迁移即makemigrations和migrate

可以继续设置修改在后台的展示:
# 地址表
class AddressInfo(models.Model):
add = models.CharField(max_length=50)

class Meta:
# 元类
db_table = 'addinfo'
# verbose_name = '地址管理' # 这个后面会加s
verbose_name_plural = '地址管理'

def __str__(self):
return self.add

Ubuntu中部署Django项目的配置与链接MySQL的更多相关文章

  1. 在裸机centos7系统中部署django项目的过程

    概要 本文用一台安装了centos7.5系统的裸奔Linux机器(当然是虚拟机)详细讲解从无到有部署django项目的过程. 安装必要的工具 配置yum源 至于什么是yum源大家请自行百度,本人用的是 ...

  2. linux中部署django项目

    通过Nginx部署Django(基于ubuntu) Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器 ...

  3. Ubuntu+uWSGI部署Django项目【鸿篇巨制,事无巨细】

    背景 任务: 视频翻译项目需要在两个服务器上进行通信(国内&海外的阿里服务器). 因为python是主语言,选用了Django 来快速部署API. 注:Django中文文档:https://d ...

  4. docker中部署django项目~~Dockfile方式和compose方式

    1.  背景:   本机win10上,后端django框架代码与前端vue框架代码联调通过. 2.  目的:   在centos7系统服务器上使用docker容器部署该项目. 3.  方案一:仅使用基 ...

  5. 基于Nginx和uWSGI在Ubuntu上部署Django项目

    前言: 对于做Django web项目的童鞋,重要性不言而喻. 参考:https://www.cnblogs.com/alwaysInMe/p/9096565.html https://blog.cs ...

  6. Django(二)如何在IIS中部署django项目

    环境配置 windows7 Django 2.0 python 3.6 wfastcgi 3.0 关键步骤 打开CGI功能 控制面板/程序和功能/打开或关闭windwos功能,如图: 安装wfastc ...

  7. nginx+uwsgi部署Django项目到Ubuntu服务器全过程,以及那些坑!!!

    前言:自己在windows上用PyCharm编写的Django项目,编写完后在windows上运行一点问题都没有,但是部署到服务器上时却Bug百出.百度,CSDN,sf,各种搜索寻求解决方案在历时3天 ...

  8. 使用uWSGI+nginx部署Django项目

    最近使用django写了一些项目,不过部署到服务器上碰到一些问题,还有静态文件什么的一堆问题,这里总结一下碰到的问题和解决方案,总体思路是按照官方文档走的. 原文地址:http://uwsgi-doc ...

  9. mac osx 上面部署Django项目 apache+mysql+mod_wsgi

    1.安装Xcode command line tools 首先,编译mysql和Homebrew需要用到Xcode command line tools,所以首先安装command line tool ...

随机推荐

  1. java打包上传服务器的一些命令

    Maven下package打包成jar包和war包,都在target目录下 其中War包扔在tomcat的webapps目录下.随tomcat启动自行启动 运行jar包命令. nohup java - ...

  2. Java8 Date API

    一 .Clock 时钟 Clock类提供了访问当前日期和时间的方法,Clock是时区敏感的,可以用来取代 System.currentTimeMillis() 来获取当前的微秒数.某一个特定的时间点也 ...

  3. 查漏补缺:2020年搞定SpringCloud面试(含答案和思维导图)

    前言 Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.消息总线.负载均衡.断路器.数据监控等,都 ...

  4. 【温故知新】Java web 开发(三)Form表单与上传下载文件

    简介:在一和二的基础之上,这次来记录下如何在页面提交表单数据,以及文件的上传和下载整个流程,请求也不仅限于GET了,也有POST了. 1. 为了方便,在 webapp 下直接新建一个 index.ht ...

  5. __FILE__,__LINE__,__DATE__,__TIME__,__FUNCTION__的使用

    C/C++ 有5个常用的预定义宏,可以当作变量直接使用 __FILE__,__FUNCTION __,__LINE__,__DATE__,__TIME__. 注意是两个下划线. 其含义如下: __FI ...

  6. 【题解】CF1142B Lynyrd Skynyrd(倍增)

    [题解]CF1142B Lynyrd Skynyrd(倍增) 调了一个小时原来是读入读反了.... 求子段是否存在一个排列的子序列的套路是把给定排列看做置换,然后让给定的序列乘上这个置换,问题就转化为 ...

  7. $SP703\ Mobile\ Service\ DP$

    洛谷 Sol 首先状态是已经完成的请求数量 这题只有三个员工跑来跑去,只有三个.... 一般像这种人数特别少的DP题就会把它们都放到状态里去 于是:f[i][x][y][z]表示现在已经完成了i个请求 ...

  8. 使用EF操作Docker中的Mysql实例

    为啥我会选择mysql呢?因为我的服务器配置较低,而SqlServer在docker中的实例,服务器的运行内存应当保持在2G+,我没有这个条件,它会爆出这样的错误 sqlservr: This pro ...

  9. Spring中常见的设计模式——模板模式

    一.模板模式的应用场景 模板模式又叫模板方法模式(Template Method Pattern),指定义一个算法的骨架,并允许自雷为一个或者多个步骤提供实现.模板模式使得子类可以在不改变算法结果的情 ...

  10. 记录一下第一次用markdown写博客回滚过程

    前面写博客,一直用的是博客园的TinyMCE编辑器, 今天不知道哪根筋搭牢了,想试试用Markdown写. 于是在“选项”里面把默认编辑器修改为“Markdown”,鉴于本人有一定的Markdown基 ...