大佬教程收集整理的这篇文章主要介绍了Vue+restfulframework示例,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
<div id="cnblogs_posT_Body" class="blogpost-body">
vue前端框架:
创建脚手架:
vue init webpack Vue项目名称
插件:
axios,发送Ajax请求
vuex,保存所有组件共用的变量
vue-<span style="color: #000000;">cookies,操作cookie
1、创建脚手架
2、运行
3、显示组件
<span style="color: #008000;">#
<span style="color: #008000;"> 组件显示的位置4、写路由
注意:
如果不想在url显示#,可以在路由里面加上这样一个参数
5、写组件
6、发送ajax请求:axios
Vue
App
router
axios
Vue.prototype.$axios =
Vue.config.productionTip =false
s.$axios.request({
url: http://127.0.0.1:8000/login/ method: {
s.username, password: this.password
responseType:
E) {
that.$router.push(
PS:重定向 that.$router.push()
7、vuex:保存所有组件共用的变量
如果想用vuex需要做这么几件事:
8、vue-cookies:操作cookie
前端代码:
<span style="color: #0000ff;"><</span><span style="color: #800000;">title</span><span style="color: #0000ff;">></span>s6vue<span style="color: #0000ff;"></</span><span style="color: #800000;">title</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"></
<span style="color: #800000;">head<span style="color: #0000ff;">>/ eslint-disable no-new /
new Vue({
el: '#app',store,router,components: { App },template: '
<span style="color: #0000ff;"><
<span style="color: #800000;">script<span style="color: #0000ff;">><span style="background-color: #f5f5f5; color: #000000;"><span style="color: #0000ff;"><
<span style="color: #800000;">style<span style="color: #0000ff;">><span style="color: #0000ff;"></
<span style="color: #800000;">style<span style="color: #0000ff;">>export default new Router({
routes: [
{
path: '/',name: 'HelloWorld',component: HelloWorld
},{
path: '/index',name: 'index',component: Index
},{
path: '/login',name: 'Login',component: Login
},{
path: '/course',name: 'Course',component: Course
},{
path: '/course-detail/:id/',name: 'CourseDetail',component: CourseDetail
},{
path: '/micro/',name: 'Micro',component: Micro
},{
path: '/news/',name: 'News',component: News
},{
path: '*',component: NotFound
}
],mode:'history'
})
组件components
<span style="color: #0000ff;"><
<span style="color: #800000;">script<span style="color: #0000ff;">><span style="background-color: #f5f5f5; color: #000000;"><span style="color: #008000;">
<span style="color: #0000ff;"><<span style="color: #800000;">style<span style="color: #0000ff;">>
<span style="color: #0000ff;"></<span style="color: #800000;">style<span style="color: #0000ff;">>
<span style="color: #0000ff;"><
<span style="color: #800000;">script<span style="color: #0000ff;">><span style="background-color: #f5f5f5; color: #000000;">}
<span style="color: #0000ff;"></<span style="color: #800000;">script<span style="color: #0000ff;">>
<span style="color: #008000;">
<span style="color: #0000ff;"><<span style="color: #800000;">style<span style="color: #0000ff;">>
<span style="color: #0000ff;"></<span style="color: #800000;">style<span style="color: #0000ff;">>
<span style="color: #0000ff;"><
<span style="color: #800000;">script<span style="color: #0000ff;">><span style="BACkground-color: #f5f5f5; color: #000000;">}
<span style="color: #0000ff;"></<span style="color: #800000;">script<span style="color: #0000ff;">>
<span style="color: #008000;">
<span style="color: #0000ff;"><<span style="color: #800000;">style<span style="color: #0000ff;">>
<span style="color: #0000ff;"></<span style="color: #800000;">style<span style="color: #0000ff;">>
<span style="color: #0000ff;"><
<span style="color: #800000;">script<span style="color: #0000ff;">><span style="BACkground-color: #f5f5f5; color: #000000;"><span style="color: #008000;">
<span style="color: #0000ff;"><<span style="color: #800000;">style <span style="color: #ff0000;">scoped<span style="color: #0000ff;">>
<span style="color: #0000ff;"></<span style="color: #800000;">style<span style="color: #0000ff;">>
<span style="color: #0000ff;"><
<span style="color: #800000;">script<span style="color: #0000ff;">><span style="BACkground-color: #f5f5f5; color: #000000;"><span style="color: #008000;">
<span style="color: #0000ff;"><<span style="color: #800000;">style <span style="color: #ff0000;">scoped<span style="color: #0000ff;">><span style="BACkground-color: #f5f5f5; color: #800000;">
h1,h2 <span style="BACkground-color: #f5f5f5; color: #000000;">{<span style="BACkground-color: #f5f5f5; color: #ff0000;">
font-weight<span style="BACkground-color: #f5f5f5; color: #000000;">:<span style="BACkground-color: #f5f5f5; color: #0000ff;"> normal<span style="BACkground-color: #f5f5f5; color: #000000;">;
<span style="BACkground-color: #f5f5f5; color: #000000;">}<span style="BACkground-color: #f5f5f5; color: #800000;">
ul <span style="BACkground-color: #f5f5f5; color: #000000;">{<span style="BACkground-color: #f5f5f5; color: #ff0000;">
list-style-type<span style="BACkground-color: #f5f5f5; color: #000000;">:<span style="BACkground-color: #f5f5f5; color: #0000ff;"> none<span style="BACkground-color: #f5f5f5; color: #000000;">;<span style="BACkground-color: #f5f5f5; color: #ff0000;">
padding<span style="BACkground-color: #f5f5f5; color: #000000;">:<span style="BACkground-color: #f5f5f5; color: #0000ff;"> 0<span style="BACkground-color: #f5f5f5; color: #000000;">;
<span style="BACkground-color: #f5f5f5; color: #000000;">}<span style="BACkground-color: #f5f5f5; color: #800000;">
li <span style="BACkground-color: #f5f5f5; color: #000000;">{<span style="BACkground-color: #f5f5f5; color: #ff0000;">
display<span style="BACkground-color: #f5f5f5; color: #000000;">:<span style="BACkground-color: #f5f5f5; color: #0000ff;"> inline-block<span style="BACkground-color: #f5f5f5; color: #000000;">;<span style="BACkground-color: #f5f5f5; color: #ff0000;">
margin<span style="BACkground-color: #f5f5f5; color: #000000;">:<span style="BACkground-color: #f5f5f5; color: #0000ff;"> 0 10px<span style="BACkground-color: #f5f5f5; color: #000000;">;
<span style="BACkground-color: #f5f5f5; color: #000000;">}<span style="BACkground-color: #f5f5f5; color: #800000;">
a <span style="BACkground-color: #f5f5f5; color: #000000;">{<span style="BACkground-color: #f5f5f5; color: #ff0000;">
color<span style="BACkground-color: #f5f5f5; color: #000000;">:<span style="BACkground-color: #f5f5f5; color: #0000ff;"> #42b983<span style="BACkground-color: #f5f5f5; color: #000000;">;
<span style="BACkground-color: #f5f5f5; color: #000000;">}
<span style="color: #0000ff;"></<span style="color: #800000;">style<span style="color: #0000ff;">>
<span style="color: #0000ff;"><
<span style="color: #800000;">script<span style="color: #0000ff;">><span style="BACkground-color: #f5f5f5; color: #000000;"><span style="color: #0000ff;"><
<span style="color: #800000;">script<span style="color: #0000ff;">><span style="BACkground-color: #f5f5f5; color: #000000;">保存全局使用的变量store
export default new Vuex.Store({
//组件中通过this.$store.state.username 调用
state:{
username:Cookie.get('username'),token:Cookie.get('token')
},mutations:{
//组件中通过this.$store.commit(参数)调用
saveToken:function (state,data) { //存放用户名和token的函数
state.username = data.username //data代指从后端返回过来的数据
state.token = data.token
Cookie.set('username','20min') //把用户名和token存放到cookie中
Cookie.set('token','20min')
},//清空token和cookie
clearToken:function (statE) {
state.username=null
state.token= null
Cookie.remove('username')
Cookie.remove('token')
}
}
})
后端代码:
urlpatterns
list routes URLs to views. For more information please see:</span><span style="color: #0000ff;">def</span> get(self,request,*args,**<span style="color: #000000;">kwargs):
ret </span>=<span style="color: #000000;"> {
</span><span style="color: #800000;">'</span><span style="color: #800000;">code</span><span style="color: #800000;">'</span>:111<span style="color: #000000;">,</span><span style="color: #800000;">'</span><span style="color: #800000;">data</span><span style="color: #800000;">'</span>:<span style="color: #800000;">'</span><span style="color: #800000;">在知识的海洋里一路向前</span><span style="color: #800000;">'</span><span style="color: #000000;">
}
response </span>=<span style="color: #000000;"> JsonResponse(ret)
response[</span><span style="color: #800000;">'</span><span style="color: #800000;">Access-Control-Allow-Origin</span><span style="color: #800000;">'</span>]=<span style="color: #800000;">'</span><span style="color: #800000;">*</span><span style="color: #800000;">'</span>
<span style="color: #0000ff;">return</span><span style="color: #000000;"> response
</span><span style="color: #0000ff;">def</span> post(self,**<span style="color: #000000;">kwargs):
</span><span style="color: #0000ff;">print</span>(request.body) <span style="color: #008000;">#</span><span style="color: #008000;">在body里面有值</span>
<span style="color: #0000ff;">print</span>(request.POST) <span style="color: #008000;">#</span><span style="color: #008000;">在post里面是没有值的</span>
ret =<span style="color: #000000;"> {
</span><span style="color: #800000;">'</span><span style="color: #800000;">code</span><span style="color: #800000;">'</span>:1000<span style="color: #000000;">,</span><span style="color: #800000;">'</span><span style="color: #800000;">username</span><span style="color: #800000;">'</span>:<span style="color: #800000;">'</span><span style="color: #800000;">hc</span><span style="color: #800000;">'</span><span style="color: #000000;">,</span><span style="color: #800000;">'</span><span style="color: #800000;">token</span><span style="color: #800000;">'</span>:<span style="color: #800000;">'</span><span style="color: #800000;">sdswr3fdfsdfdxqw2fgh</span><span style="color: #800000;">'</span><span style="color: #000000;">,}
response </span>=<span style="color: #000000;"> JsonResponse(ret)
response[</span><span style="color: #800000;">'</span><span style="color: #800000;">Access-Control-Allow-Origin</span><span style="color: #800000;">'</span>] = <span style="color: #800000;">"</span><span style="color: #800000;">*</span><span style="color: #800000;">"</span>
<span style="color: #0000ff;">return</span><span style="color: #000000;"> response
</span><span style="color: #0000ff;">def</span> options(self,**<span style="color: #000000;">kwargs):
response </span>=<span style="color: #000000;"> httpResponse()
response[</span><span style="color: #800000;">'</span><span style="color: #800000;">Access-Control-Allow-Origin</span><span style="color: #800000;">'</span>] = <span style="color: #800000;">'</span><span style="color: #800000;">*</span><span style="color: #800000;">'</span><span style="color: #000000;">
response[</span><span style="color: #800000;">'</span><span style="color: #800000;">Access-Control-Allow-Headers</span><span style="color: #800000;">'</span>] = <span style="color: #800000;">'</span><span style="color: #800000;">*</span><span style="color: #800000;">'</span>
<span style="color: #008000;">#</span><span style="color: #008000;"> response['Access-Control-Allo w-Methods'] = 'PUT'</span>
<span style="color: #0000ff;">return</span><span style="color: #000000;"> response
<span style="color: #0000ff;">class<span style="color: #000000;"> CourseView(APIView):以上是大佬教程为你收集整理的Vue+restfulframework示例全部内容,希望文章能够帮你解决Vue+restfulframework示例所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。