download:Python3高级核心技术97讲
可以毫不夸张的说:这门课程是初中级Python开发人员向高级进阶的必学课程 许多Pythoner喜欢追求新的框架,但却不重视Python本身基础知识的学习, 他们不知道的是,语言本身的进阶优先于框架,大公司更注重语言本身的功底。万丈高楼平地起,学透了Python高级基础知识再学习其它框架,才会事半功倍,才会更好的理解和使用这些框架
适合人群及技术储备要求
本课程可作为慕课网七月老师《全网最热Python3入门+进阶》课程的进阶课程,如果你学习了七月老师的课程,再学习本门
你将能完成Python3入门,进阶,深入的全过程,可以把Python3所有知识点都学会、学透,为以后的用Python3及Python框架进行实际开发
打下无比坚实的基础,掌握这些知识,你必将所向披靡,无往不利
技术储备要求:
具备一定的自学能力,掌握Python基础(或已学习过《全网最热Python3入门+进阶》)
export default {
data() {
/
eslint-disable
/
return {
// 设置属性
mixinViewModuleOptions: {
createdIsNeed: true, // 此页面能否在创立时,调用查询数据列表接口?
activatedIsNeed: true, // 此页面能否在激活(进入)时,调用查询数据列表接口?
getDataListURL: '', // 数据列表接口,API地址
getDataListIsPage: true, // 数据列表接口,能否需求分页?
deleteURL: '', // 删除接口,API地址 state 值改为2
deleteIsBatch: false, // 删除接口,能否需求批量?
deleteIsBatchKey: 'id', // 删除接口,批量状态下由那个key停止标志操作?比方:pid,uid...
exportURL: '' // 导出接口,API地址
},
// 默许属性
dataForm: {}, // 查询条件
dataList: [], // 数据列表
order: '', // 排序,asc/desc
orderField: '', // 排序,字段
page: 1, // 当前页码
limit: 4, // 每页数
total: 0, // 总条数
dataListLoading: false, // 数据列表,loading状态
dataListSelections: [], // 数据列表,多选项
addOrUpdateVisible: false // 新增/更新,弹窗visible状态
}
/
eslint-enable
/
},
created() {
if (this.mixinViewModuleOptions.createdIsNeed) {
this.query()
}
},
activated() {
if (this.mixinViewModuleOptions.activatedIsNeed) {
this.query()
}
},
methods: {
// 关于返回的数据的操作
filterData(data) {
return data
},
// 在查询之前查询的字段需求的操作
beforeQuery(data) {},
// 获取数据列表
query() {
let dataForm = { ...this.dataForm }
this.beforeQuery(dataForm)
for (let val in dataForm) {
if (dataForm[val] === '') {
dataForm[val] = null
}
}
this.dataListLoading = true
this.http
.post(this.mixinViewModuleOptions.getDataListURL, {
pageNum: this.mixinViewModuleOptions.getDataListIsPage ? this.page : null,
pageSize: this.mixinViewModuleOptions.getDataListIsPage ? this.limit : null,
...dataForm
})
.then(res => {
this.dataListLoading = false
if (res.code !== 200) {
return this.message.error(res.msg)
}
var data = this.mixinViewModuleOptions.getDataListIsPage ? res.data.list : res.data
this.dataList = this.filterData(data)
this.total = this.mixinViewModuleOptions.getDataListIsPage ? res.data.total : 0
})
.catch(() => {
this.dataListLoading = false
})
},
// 多选
dataListSelectionChangeHandle(val) {
this.dataListSelections = val
},
// 排序
dataListSortChangeHandle(data) {
if (!data.order || !data.prop) {
this.order = ''
this.orderField = ''
return false
}
this.order = data.order.replace(/ending/, '')
this.orderField = data.prop.replace(/(\[A-Z\])/g, '\_1').toLowerCase()
this.query()
},
// 分页, 每页条数
pageSizeChangeHandle(val) {
this.page = 1
this.limit = val
this.query()
},
// 分页, 当前页
pageCurrentChangeHandle(val) {
this.page = val
this.query()
},
getDataList: function() {
this.page = 1
this.query()
},
// 新增 / 修正
addOrUpdateHandle(id) {
this.addOrUpdateVisible = true
this.nextTick(() => {
this.refs.addOrUpdate.dataForm.id = id
this.refs.addOrUpdate.init()
})
},
// 删除
deleteHandle(row, text) {
this.confirm({
title: this.defaultSettings.title,
content: h => {
return <div style="color:red;">{text || '肯定要删除该数据?'}</div>
},
onOk: () => {
let \_row = JSON.parse(JSON.stringify(row))
\_row.state = 2
this.http
.post(${this.mixinViewModuleOptions.deleteURL}, _row)
.then(res => {
if (res.code !== 200) {
return this.message.error(res.msg)
}
this.message({
type: 'success',