怎么说,网上找的例子真的不是一般的坑,根本就是少了很多流程让人故意看不懂

第一步,创建好我们的app

django-admin startproject weeklyapp 这是创建我们的整个系统app
第二步,进入我们的app,weeklyapp 
cd weeklyapp 
python manage.py startapp weeklypython

第三步,创建我们的vue,这个你可以另外前端去写,因为前后端完全分离

vue-init webpack weeklyvue
cdweeklyvue
npm install
npm run build #这样会生成dist文件
第四步,就是vue和django的结合
from django.contrib import admin
from django.views.generic.base import TemplateView #一定要记得去引入,很多坑就在这里
from django.conf.urls import include, url urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^user/', include('weeklypython.urls', namespace='user')),
url(r'',TemplateView.as_view(template_name='index.html')), #这个是直接访问到我们的vue项目的首页 ]
第五步,配置模板搜索路径
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['weeklyvue/dist'], #在这里哦,记得哦
#'DIRS': [],
'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',
],
},
},
]
STATICFILES_DIRS=[
os.path.join(BASE_DIR,'weeklyvue/dist/static') #记得在最下面要添加这个
]
第六步,因为我们前后端完全是分离的,所以说前端后端分别需要独立运行,就是解决跨域问题
pip install django-cors-headers  就是安装这个应用
MIDDLEWARE = [
# 'corsheaders.middleware.CorsMiddleware'
# 跨域用的,必须放最先前,
# 'corsheaders.middleware.CorsMiddlewaredjango';corsheaders.middleware' is not a package
# 这个还要安装 corsheader 这个app应用
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
] 最后再在设置里面添加
CORS_ORIGIN_ALLOW_ALL = True   上面的顺序我也不太清楚,反正跨域要解决的   这样子我们的vue单独环境就出来了,可以单独运行vue了

第七步,接下来打通vue和python的数据,这个前后端分离,用到了Django REST framework这个django应用
pip install djangorestframework
pip install markdown # Markdown support for the browsable API.
pip install django-filter # Filtering support #直接安装就可以了
接下来就是配置了
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 'weeklypython.apps.WeeklypythonConfig',
'weeklypython',
# 这里也可以不写这么多的,直接 wekpypython 也是可以的
# 这里 weeklypython 表示你的app应用 .apps 表示下面的apps.py .WeeklypythonConfig表示你的配置文件
'rest_framework',
'corsheaders', # 这里安装这个app应用 pip install corsheader
] 连接数据库
# 连接到本地的数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'HOST':'localhost',
'PORT':'3306',
'USER':'root',
'PASSWORD':'123456',
'NAME': 'user',
}
}
创建models,自己创建就好
该项目下要新建两个文件,一个是urls.py, 另一个是serializers.py  
serializers.py 里面写好序列化的models
from .models import UserInfo
from rest_framework import serializers
#serializers定义了API的表现形式
class UserInfos(serializers.ModelSerializer):
#使用ModelSerializer来序列化model层
class Meta:
module = UserInfo #指定要序列化的模型
filter('user_department','user_jobNumber','user_userName','user_post','user_telephone','user_email','user_password') 然后是apps.py里面的文件 这个文件是配置文件
from django.apps import AppConfig

class WeeklypythonConfig(AppConfig):
"""
这个是配置文件,django启动的时候会去这里找到这个配置
"""
name = 'weeklypython'
 


 


 



vue与dajngo的更多相关文章

  1. Vue.js 和 MVVM 小细节

    MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自 ...

  2. wepack+sass+vue 入门教程(三)

    十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...

  3. wepack+sass+vue 入门教程(二)

    六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...

  4. wepack+sass+vue 入门教程(一)

    一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...

  5. Vue + Webpack + Vue-loader 系列教程(2)相关配置篇

    原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ 使用预处理器 在 Webpack 中,所有的预处理器需要和一个相应的加载器一同使用.vue- ...

  6. Vue + Webpack + Vue-loader 系列教程(1)功能介绍篇

    原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ Vue-loader 是什么? vue-loader 是一个加载器,能把如下格式的 Vue ...

  7. 关于Vue.js 2.0 的 Vuex 2.0,你需要更新的知识库

    应用结构 实际上,Vuex 在怎么组织你的代码结构上面没有任何限制,相反,它强制规定了一系列高级的原则: 应用级的状态集中放在 store 中. 改变状态的唯一方式是提交mutations,这是个同步 ...

  8. Vue.js 2.0 和 React、Augular等其他框架的全方位对比

    引言 这个页面无疑是最难编写的,但也是非常重要的.或许你遇到了一些问题并且先前用其他的框架解决了.来这里的目的是看看Vue是否有更好的解决方案.那么你就来对了. 客观来说,作为核心团队成员,显然我们会 ...

  9. 窥探Vue.js 2.0 - Virtual DOM到底是个什么鬼?

    引言 你可能听说在Vue.js 2.0已经发布,并且在其中新添加如了一些新功能.其中一个功能就是"Virtual DOM". Virtual DOM是什么 在之前,React和Em ...

随机推荐

  1. Python练习二

    1.计算 1 - 2 + 3 ... + 99 中除了88以外所有数的总和 sum1 = 0 sum2 = 0 count = 0 while count < 99: count += 1 if ...

  2. 简单git使用命令

    // 查看分支:git branch // 创建分支:git branch <name> // 切换分支:git checkout <name> // 创建+切换分支:git ...

  3. 7. Vulnerability exploitation tools (漏洞利用工具 11个)

    Metasploit于2004年发布时,将风暴带入了安全世界.它是开发,测试和使用漏洞利用代码的高级开源平台. 可以将有效载荷,编码器,无操作生成器和漏洞利用的可扩展模型集成在一起,使得Metaspl ...

  4. java web(二): servlet的简单使用和介绍

    前言:通过编写一个servlet类,向浏览器发送hello world来阐述servlet. 一:创建动态web项目 1. 首先切换到javaEE视图. 在ecplise左边即项目管理器哪里右键点击新 ...

  5. 拖放事件(drop events)在Firefox上运行会出现的问题

    可能会有人觉得我废话特别多,我就在开头写一个简单粗暴的版本: 在Firefox中ondrop事件会触发Firefox自带的拖拽搜索功能,在ondrop事件触发执行时触发的函数中加上这两条: /* 禁止 ...

  6. redis 设置分布式锁要避免死锁

    1. jedis 中 setnx key value 虽然可以处理同步问题 (setnx 有返回值 1是key不存在把它设置进去,0是key已经存在了)但是 setnx设置完后 程序的下一步 有可能挂 ...

  7. [JAVA]JAVA实现多线程的三种方式

    1.继承Thread类,通过start()方法调用 public class MultiThreadByExtends extends Thread { @Override public void r ...

  8. imp 导入以及换用户报错

    数据库导入操作:SQL> create user user identified by passwd; SQL> create tablespace user datafile '/dat ...

  9. TCP/IP 通信

    TCP/IP 通信又叫socket 通信,是基于TCP/IP协调面向连接的一个数据传输技术.是属于OSI国际标准的传输层,三次握手 提供数据,有序,安全,端到端的传输和接收.它有三个主要协议:传输控制 ...

  10. python io-os

    #IO - os import os; #文件改名 #os.rename('io.txt','newio.txt'); #删除文件 #os.remove('io2.txt'); #创建文件夹(目录) ...