一、python django 项目建立

1、django安装方法:运行命令:pip3 install django。(pip3和python3安装方法请自行百度);

2、创建django项目

  在linux等命令行界面下,使用django提供的命令  django-admin startproject back   注:back你的项目名。创建之后的目录结构如图红框:

可以运行 python3 manage.py runserver 127.0.0.1:8081 看项目是否创建成功。

3、新建应用:python3 manage.py startapp adminApi  注:我给我的后台新建立了一个叫adminApi的应用,结构如图红框:

在back文件夹下找到setting.py 项目配置文件,把应用名添加进去,这样django应用才可以使用,应用名用引号包裹。如图:

4、配置数据库:settings.py文件 DATABASES

default 为项目默认的数据库连接地址,如果项目中需要连接多个库 可依次添加到DATABASES中如图:使用时可指定要连接的库,不指定默认为default连接。

注意:NAME即数据库的名字,在mysql连接前该数据库必须已经创建,而上面的sqlite数据库下的db.sqlite3则是项目自动创建。

USER和PASSWORD分别是数据库的用户名和密码。设置完后,再启动我们的Django项目前,需要激活我们的mysql。

然后,启动项目,会报错:no module named MySQLdb

这是因为django默认你导入的驱动是MySQLdb,可是MySQLdb对于py3有很大问题,所以我们需要的驱动是PyMySQL

所以,我们只需要找到项目里的全局配置里的__init__,py配置数据库驱动

在里面写入:

import pymysqlpymysql.install_as_MySQLdb()

5、项目中应用到的model,注意 如果需要自定义表名的话 需要在models.py中 指定具体model的class Meta 的da_table 如图:

6、数6、据库建表:

python3 manager.py magrations 生成数据库变更文件 文件位于migrations下,这里会记录你每次运行 python manager.py magrations 的变更记录;

接下来运行 python3 manager.py migrte 时 django才会生成数据库表,如果报错请看标题4是否涵盖 或者 是否已安装django PyMysql插件

7、urls路由:

例:logout 对外暴漏api path为  /api/logout

8、登录、登出实现:(图片有点大,可放大后缩小浏览器尺寸看全图)

登录中间件:UserAuthMiddle 需要添加到settings中

所有路由通过中间件后才会分发到具体的views中

9、自定义原生sql查询用法:

10:使用django ORM模型:

获取对象有以下方法:

  1. models.AdminUser.objects.all()

  2. models.AdminUser.objects.all()[:10] 切片操作,获取10个人,不支持负索引,切片可以节约内存
  3. models.AdminUser.objects.filter(name="abc")  # 名称中包含 "abc"的人

  4. values_list 获取元组形式结果  models.AdminUser.objects.filter(name='twz915').values_list('name', flat=True)
  5. values 获取字典形式的结果 list(models.AdminUser.objects.values('name', 'qq'))

如:

二、element-admin-ui前台vue项目搭建:

1、请按照文档搭建element-admin-ui 框架到项目  该框架地址:https://github.com/PanJiaChen/vue-element-admin

搭建文档很详细,就不过多叙述了,搭建过程中遇到的问题一般都可以在上边地址中的文档中找到;

配置完成,启动项目如图:

2、nginx 配置如图:

location / 配置为前端vue项目

localtion /api 配置为后台django项目

生产环境 此配置适用于前端项目已经生产编译(npm run build:prod)后,root 指向已编译目录dist;

server {listen 80;index index.html;server_name dev-mysite.com;root /home/devops/adminVue-xue/dist;location / {try_files $uri $uri/ /index.html;# proxy_pass http://127.0.0.1:9527;}location /api {proxy_pass http://127.0.0.1:8081;}
}

开发环境时 vue 实时编译(npm run dev),需要监听vue文件的变化,些时 nginx配置可如下图:

server {listen 80;# index index.html;server_name dev-mysite.com;# root /home/devops/adminVue-xue/dist;location / {# try_files $uri $uri/ /index.html;proxy_pass http://127.0.0.1:9527;}location /api {proxy_pass http://127.0.0.1:8081;}
}

三、搭建的前后台项目源码地址:

django后台:https://github.com/perfectTeam-test/mysite-xue.git

vue前台:https://github.com/perfectTeam-test/adminVue-xue.git

四:说点啥吧!

以上内容纯属个人玩玩,内容浅薄,欢迎批评指导 改不改再说...

vue-element-admin 和 python django 前后端分离 开撸(新手学习,高手指点)相关推荐

  1. 视频教程-Python+Vue+Django前后端分离项目实战-Python

    Python+Vue+Django前后端分离项目实战 教学风格独特,以学员视角出发设计课程,难易适度,重点突出,架构清晰,将实战经验融合到教学中.讲授技术同时传递方法.得到广大学员的高度认可. 王进 ...

  2. Python Web前后端分离框架Django+Vue搭建

    Python Web前后端分离框架Django+Vue搭建 对前面所学知识的归纳整理,感兴趣的可以看看,欢迎指正. 一.前后端分离框架介绍 本项目基于 Python 的 Web 框架开发,采用前后端分 ...

  3. 视频教程-Angular+Django前后端分离实战项目开发教程-AngularJS

    Angular+Django前后端分离实战项目开发教程 胜蓝博创(韬略课堂)创始人,IT培训讲师,先后在蓝港在线,热酷,乐元素等大型游戏公司任职,参与过多款大型网游.手游的设计和开发,精通页游.手游前 ...

  4. Nginx+uwsgi+celery+supervisor部署Django前后端分离项目

    转载 Nginx+uwsgi+celery+supervisor部署Django前后端分离项目 ljmict 0人评论 3887人阅读 2018-08-08 01:29:45 本实验实现了负载均衡.反 ...

  5. Django前后端分离实现登录验证码功能

    Django前后端分离实现登录验证码功能 当下最流行最热门的开发方式当属前后端分离开发,分工也更加明确与专注,前端也是越来越难,几天不学习就跟不上节奏,一个月不学习可以好不夸张的说,你已经不适合这个行 ...

  6. 【python学习笔记】关于python Flask前后端分离跨域问题

    关于python Flask前后端分离跨域问题 前后端分离过程中,前后端对接测试难免遇到跨域问题.因为是个新司机,所以在我经过一天的测试,才找到解决办法=-= 第一种方法 from functools ...

  7. Django CSRF(什么是CSRF?)\Django前后端分离csrf token获取方式

    文章目录 Django CSRF 什么是CSRF? Django CSRF Django CSRF 中间件 Django,Ajax提交csrf_token处理 Django 设置 cookie 中的 ...

  8. 计算机毕业设计-ssm+vue汽车销售管理系统-汽车商城(前后端分离)java代码

    计算机毕业设计-ssm+vue汽车销售管理系统-汽车商城(前后端分离)java代码 注意:该项目只展示部分功能,如需了解,评论区咨询即可. 1.开发环境 开发语言:Java 设计模式:MVC 架构:B ...

  9. 计算机毕业设计-基于ssm+vue的化妆品商城管理系统(前后端分离)java代码

    计算机毕业设计-基于ssm+vue的化妆品商城管理系统(前后端分离)java代码 注意:该项目只展示部分功能,如需了解,评论区咨询即可. 作者:IT跃迁谷 1.开发环境 开发语言:Java 设计模式: ...

最新文章

  1. ICLR 2020 | ELECTRA:新型文本预训练模型
  2. python爬虫新手项目-Python爬虫实战之取电影天堂,,新手练手项目
  3. 编写高效的Android代码
  4. 对象容器设计模式_容器对象模式。 一种新的测试模式。
  5. Opencv中IplImage的四字节对齐问题
  6. mysql group by自定义_mysql – GROUP BY和自定义顺序
  7. java 主线程等待_Java实现主线程等待子线程
  8. 4.5管道实现机制和模拟构建管道「深入浅出ASP.NET Core系列」
  9. 浏览器正确理解和使用GBK及UTF-8(UTF-8 + BOM)网页编码
  10. 【最短路径问题笔记】SPFA算法及负环的判断
  11. linux 一运行build卡,linux_system_build
  12. TMS320C55x的寄存器
  13. 目标管理体系:OKR
  14. andriod 连接数据库(MySQL)
  15. 移动硬盘显示无法访问数据错误循环冗余检查的文件寻回办法
  16. OAuth2.0系列四:OAuth2.0简化模式
  17. 模型会忘了你是谁吗?两篇Machine Unlearning顶会论文告诉你什么是模型遗忘
  18. 今天2006的第一天,灰蒙蒙的元旦节!
  19. python 解决问题的集合-No JSON object could be decoded
  20. 微信小程序 界面禁止下拉 左右滑动_微信 iOS 版更新,带来了这些新功能

热门文章

  1. IIC软件协议及硬件知识汇总
  2. 怎么利用MBR加密硬盘?
  3. 创建cocos2dx项目
  4. CNVD-2021-10543 -- MessageSolution 邮件归档系统EEA 信息泄露漏洞
  5. [549]python实现K-Means算法
  6. 热论 | 正跌入中国“社会底层”?!高校青年教师
  7. php仿银行电子口令卡
  8. 球面贴图(Sphere Map)
  9. Caused by: java.lang.NoSuchMethodException:
  10. 饥荒自建服务器怎么换人物,《饥荒》服务器端更换人物形象的方法