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. jQuery 工具类函数-检测两个节点的包含关系

    调用名为$.contains的工具函数,能检测在一个DOM节点中是否包含另外一个DOM节点,如果包含,返回true,否则,返回false值,调用格式为: $.contains (container, ...

  2. 找不到 javax.servlet.http.HttpServletResponse 和 javax.servlet.http.HttpServletRequest 问题解决

    时隔3个月,我又回来了!在做完毕设之后,由于对此过程中学到的一些东西疏于整理,所以当再次打开我的project时有些手足无措,以至于出现一些问题也要解决好半天,我知错! 今天的问题是: 开始搜到的解决 ...

  3. HDU1166 敌兵布阵 BZOJ1012 最大数[树状数组]

    一.前置知识-树状数组 树状数组(binary indexed tree)是一种简洁的代码量很小的数据结构,能够高效的处理前缀区间上的问题.在很多情况下能写树状数组解决的就不用码半天线段树了. 树状数 ...

  4. IIS 6和IIS 7 中设置文件上传大小限制设置方法,两者是不一样的

    在IIS 6.0中设置文件上传大小的方法,只要设置httpRuntime就可以了 <system.web> <httpRuntime executionTimeout="3 ...

  5. 第二阶段:2.商业需求文档MRD:4.MRD-核心目标-产品构成

    竞争对手分析很重要.之后单独讲解.产品经理时刻要关注竞争产品的状态. 1.不同于PRD.这里只是概况.2.产品前景的核心目标就是:KPI(用户使用量:安装量,卸载量,日活数)跟ROI(开发人力,时间, ...

  6. jeecg中自定义按钮时遇到的问题

  7. 【题解/模板】P1248 加工生产调度(贪心)

    [题解/模板]P1248 加工生产调度(贪心) 分析: \(A\)流水线的时间是确定的,所以现在就是要让\(b\)的时间尽量短 \(tB > tA\),除非所有东西都不需要\(b\).(t指结束 ...

  8. The Annual Summary Of 2019

    Time is flying, it arrives at the end of year again. This is my first year working in PinDuoDuo inc ...

  9. 如何让接口文档自动生成,SpringBoot中Swagger的使用

    目录 一.在SpringBoot项目中配置Swagger2 1.pom.xml中对Swagger2的依赖 2.编写配置类启用Swagger 3.配置实体类的文档 4.配置接口的文档 5.访问文档 二. ...

  10. Selenium python爬虫

    Selenium + Python3 爬虫 准备工作 Chrome驱动下载地址(可正常访问并下载),根据自己chrome的版本下载 Chrome版本 下载地址 78 https://chromedri ...