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读取浮点数和读取文本文件示例
May 06 Python
Python实现统计单词出现的个数
May 28 Python
Python内置函数 next的具体使用方法
Nov 24 Python
Python + selenium自动化环境搭建的完整步骤
May 19 Python
scrapy-redis源码分析之发送POST请求详解
May 15 Python
解决Django 在ForeignKey中出现 non-nullable field错误的问题
Aug 06 Python
Python 时间戳之获取整点凌晨时间戳的操作方法
Jan 28 Python
django自定义非主键自增字段类型详解(auto increment field)
Mar 30 Python
Python HTMLTestRunner如何下载生成报告
Sep 04 Python
Python爬虫开发与项目实战
Dec 16 Python
Python中过滤字符串列表的方法
Dec 22 Python
python编写扎金花小程序的实例代码
Feb 23 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
php header Content-Type类型小结
2011/07/03 PHP
php中隐形字符65279(utf-8的BOM头)问题
2014/08/16 PHP
Symfony2学习笔记之插件格式分析
2016/03/17 PHP
js获取某月的最后一天日期的简单实例
2013/06/22 Javascript
浅谈javascript中call()、apply()、bind()的用法
2015/04/20 Javascript
浅析js绑定事件的常用方法
2016/05/15 Javascript
微信小程序实现图片自适应(支持多图)
2017/01/25 Javascript
Nodejs多站点切换Htpps协议详解及简单实例
2017/02/23 NodeJs
关于Node.js中Buffer的一些你可能不知道的用法
2017/03/28 Javascript
jQuery 实现图片的依次加载图片功能
2017/07/06 jQuery
JavaScript正则表达式校验与递归函数实际应用实例解析
2017/08/04 Javascript
基于vue-cli配置lib-flexible + rem实现移动端自适应
2017/12/26 Javascript
vue操作下拉选择器获取选择的数据的id方法
2018/08/24 Javascript
Vuex 单状态库与多模块状态库详解
2018/12/11 Javascript
JavaScript变速动画函数封装添加任意多个属性
2019/04/03 Javascript
JavaScript数组去重的几种方法
2019/04/07 Javascript
js HTML DOM EventListener功能与用法实例分析
2020/04/27 Javascript
vue 解决无法对未定义的值,空值或基元值设置反应属性报错问题
2020/07/31 Javascript
python实现udp数据报传输的方法
2014/09/26 Python
Python的Flask框架中@app.route的用法教程
2015/03/31 Python
python使用wmi模块获取windows下硬盘信息的方法
2015/05/15 Python
Fabric 应用案例
2016/08/28 Python
浅谈python for循环的巧妙运用(迭代、列表生成式)
2017/09/26 Python
Python中常见的异常总结
2018/02/20 Python
Python 支付整合开发包的实现
2019/01/23 Python
linux查找当前python解释器的位置方法
2019/02/20 Python
python爬虫解决验证码的思路及示例
2019/08/01 Python
详解Django配置优化方法
2019/11/18 Python
pytorch实现seq2seq时对loss进行mask的方式
2020/02/18 Python
Python  Asyncio模块实现的生产消费者模型的方法
2021/03/01 Python
HTML5的video标签的浏览器兼容性增强方案分享
2016/05/19 HTML / CSS
J2EE相关知识面试题
2013/08/26 面试题
网络技术专业求职信
2014/07/13 职场文书
2015年七一建党节活动方案
2015/05/05 职场文书
给朋友的赠语
2015/06/23 职场文书
七年级上册生物的课件
2019/08/07 职场文书