Python Django Vue 项目创建过程详解


Posted in Python onJuly 29, 2019

1、创建项目

打开pycharm 终端,输入如下,创建项目

# 进入pycharm 项目目录下
cd pyWeb

django-admin startproject pyweb_dome

# pyweb_dome 是django项目名称

2、创建应用

# 进入项目根目录 pyweb_dome 下

 cd pyweb_dome 
python manage.py startapp webserver # webserver 为应用名

3、创建前端项目

使用vue-cli在根目录创建一个名称叫【frontend】的Vue.js项目作为项目前端

# 使用vue-cli在根目录创建一个名称叫【webfront】的Vue.js项目作为项目前端

vue-init webpack webfront

4、打包vue项目

# 使用 webpack 打包vue项目
cd webfront

npm install 
npm run build

此时直接运行npm run dev也可以直接查看前端 vue界面

npm run build

构建完成会生成一个文件夹,名字叫dist,里面有一个 index.html 和一个 文件夹static。

5、使用Django的通用视图 TemplateView修改静态指向路径(就是让Django访问目录指向我们刚才打包的dist/index.html)

找到项目根 pyweb_demo/urls.py文件作出如下修改,注意1、2两处修改。

"""pyweb_dome URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
  https://docs.djangoproject.com/en/2.1/topics/http/urls/
Examples:
Function views
  1. Add an import: from my_app import views
  2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
  1. Add an import: from other_app.views import Home
  2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
  1. Import the include() function: from django.urls import include, path
  2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path

from django.views.generic.base import TemplateView # 1、增加该行

urlpatterns = [
  path('admin/', admin.site.urls),
  path(r'',TemplateView.as_view(template_name='index.html')), #2、 增加该行
]

6. 配置Django项目的模板搜索路径和静态文件搜索路径 找到根目录下 pyweb_demo/settings.py文件并打开,找到TEMPLATES配置项,修改如下:

TEMPLATES = [
  {
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    #'DIRS': [],
    'DIRS': ['webfront/dist'], # 修改1 
    'APP_DIRS': True,
    'OPTIONS': {
      'context_processors': [
        'django.template.context_processors.debug',
        'django.template.context_processors.request',
        'django.contrib.auth.context_processors.auth',
        'django.contrib.messages.context_processors.messages',
      ],
    },
  },
]


# 新增2
# Add for vue.js
STATICFILES_DIRS = [
  os.path.join(BASE_DIR, "webfront/dist/static"),
]

7,到此基本就配置完成了,回退到根目录 运行命令就可以直接查看效果

python manage.py runserver

Python Django Vue 项目创建过程详解

Python Django Vue 项目创建过程详解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中列表、字典、元组数据结构的简单学习笔记
Mar 20 Python
Python MySQL数据库连接池组件pymysqlpool详解
Jul 07 Python
Python实现FTP文件传输的实例
Jul 07 Python
Tensorflow:转置函数 transpose的使用详解
Feb 11 Python
解决pycharm debug时界面下方不出现step等按钮及变量值的问题
Jun 09 Python
Python应用自动化部署工具Fabric原理及使用解析
Nov 30 Python
如何用Python编写一个电子考勤系统
Feb 08 Python
Python - 10行代码集2000张美女图
May 23 Python
Python3 多线程(连接池)操作MySQL插入数据
Jun 09 Python
python中subplot大小的设置步骤
Jun 28 Python
使用pipenv管理python虚拟环境的全过程
Sep 25 Python
Python按顺序遍历并读取文件夹中文件
Apr 29 Python
python cumsum函数的具体使用
Jul 29 #Python
python利用re,bs4,requests模块获取股票数据
Jul 29 #Python
实例详解Python装饰器与闭包
Jul 29 #Python
对于Python深浅拷贝的理解
Jul 29 #Python
PyCharm中代码字体大小调整方法
Jul 29 #Python
python pandas cumsum求累计次数的用法
Jul 29 #Python
详解Python用三种方式统计词频的方法
Jul 29 #Python
You might like
改变Apache端口等配置修改方法
2008/06/05 PHP
浅谈php的优缺点
2015/07/14 PHP
PHP MPDF中文乱码的解决方式
2015/12/08 PHP
YII视图整合kindeditor扩展的方法
2016/07/13 PHP
PHP实现的DES加密解密类定义与用法示例
2020/11/02 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
JQuery1.4+ Ajax IE8 内存泄漏问题
2010/10/15 Javascript
JavaScript实现单击下拉框选择直接跳转页面的方法
2015/07/02 Javascript
轻松搞定jQuery.noConflict()
2016/02/15 Javascript
用vue的双向绑定简单实现一个todo-list的示例代码
2017/08/03 Javascript
JS倒计时实例_天时分秒
2017/08/22 Javascript
vue2手机APP项目添加开屏广告或者闪屏广告
2017/11/28 Javascript
swiper移动端轮播插件(触碰图片之后停止轮播)
2017/12/28 Javascript
vue-cli单页面预渲染seo-prerender-spa-plugin操作
2020/08/10 Javascript
[05:17]DOTA2睡衣妹卖萌求签名 CJ第二天全明星影像
2013/07/28 DOTA
[07:57]2018DOTA2国际邀请赛寻真——PSG.LGD凤凰浴火
2018/08/12 DOTA
Python中Random和Math模块学习笔记
2015/05/18 Python
基于进程内通讯的python聊天室实现方法
2015/06/28 Python
浅析Python的web.py框架中url的设定方法
2016/07/11 Python
python实现手机通讯录搜索功能
2018/02/22 Python
python hbase读取数据发送kafka的方法
2018/12/27 Python
Django之提交表单与前后端交互的方法
2019/07/19 Python
Django 创建/删除用户的示例代码
2019/07/24 Python
Css3+Js制作漂亮时钟(附源码)
2013/04/24 HTML / CSS
欧洲高端品牌直销店:Fashionesta
2016/08/31 全球购物
复古风格的女装和装饰品:ModCloth
2017/12/29 全球购物
bareMinerals官网:矿物质化妆品和护肤品
2018/02/04 全球购物
专业销售业务员求职信
2013/11/18 职场文书
前台文员岗位职责及工作流程
2013/11/19 职场文书
审计主管岗位职责
2014/01/31 职场文书
离婚财产分隔协议书
2014/10/23 职场文书
建筑安全员岗位职责
2015/02/15 职场文书
golang协程池模拟实现群发邮件功能
2021/05/02 Golang
alibaba seata服务端具体实现
2022/02/24 Java/Android
《游戏王:大师决斗》新活动上线 若无符合卡组可免费租用
2022/04/13 其他游戏
使用 DataAnt 监控 Apache APISIX的原理解析
2022/07/07 Servers