python后端开发需要学什么?

python后端开发需要学什么?,第1张

可以参考下面的路径去学习,祝你学有所成,公司最近在人工智能和自然语言处理的项目后端项目,我也是网上找了很多知识,最后给自己列了一个学习的目录,按照这个在复习并在总结,希望能帮到你:

计算机基本认知,环境搭建    python环境搭建
计算机基本认识,进制转换
python注释使用
python变量使用
python数据类型_Number

python数据类型    str字符串类型
容器类型数据list,tuple,str
容器类型数据set,dict
变量缓存机制
自动类型转换
Number强制类型转换  

python运算符的使用    容器类型数据强制类型转换
字典强转等长二级容器
运算符_算数_比较
运算符_赋值_成员
运算符_身份_逻辑
运算符_位运算_优先级  

python流程控制    代码块
流程控制if
多项巢状分支
循环结构while
循环判断经典题
字符串的相关 *** 作  

python循环结构    
关键字continue_break_pass
for循环的遍历_range  

字符串,列表内置方法    
字符串函数
format字符串格式化
format特殊符号的使用
列表的 *** 作
列表函数  

字典,集合内置方法+文件 *** 作    
字典的相关函数
集合 *** 作_函数
文件 *** 作
文件加号模式  

函数,函数参数    文件相关函数 
函数
形参实参
默认形参_关键字形参
收集参数
命名关键字参数

全局/局部变量,闭包    return返回值
函数名的使用
局部变量_全局变量
函数的嵌套LEGB
关键字nonlocal
闭包函数  

递归,匿名函数    
locals和globals
闭包特点意义
递归含义
斐波那契_尾递归
匿名函数lambda  

迭代器,高阶函数    迭代器
高阶函数_map
高阶函数_reduce
高阶函数_sorted
高阶函数_filter  

推导式    列表推导式
推导式题
集合_字典推导式
生成器表达式
生成器函数  

内置方法,linux基本命令    内置函数
可滑动序列
面试题演练
linux安装
linux基本命令  

python模块    序列化模块
数学模块
随机模块
time模块  

python模块    os模块
os_shutil
ospath模块
计算文件夹大小
zipfile
tarfile  

导入模块包,oop面向对象认知    
import_from绝对导入
import_from相对导入(单入口)
oop面向对象
类的封装性

oop之封装,继承    类的相关 *** 作
对象和类的删除 *** 作
单继承
多继承
菱形继承

oop之多态,魔术方法    多态
魔术方法__new__
单态模式
析构方法__del__  

oop之魔术方法,异常处理    魔术方法__call__
魔术方法__str__repr__
魔术方法__bool_add_len__
了解异常
异常处理语法
主动抛出异常

装饰器  

装饰器
静态绑定方法
property 

正则表达式    单个字符匹配
多个字符匹配
匹配分组
命名分组
正则函数
正则计算器小程序

认识网络    bs_cs流程
传输数据流程
交换机和局域网的网络通讯
arp协议  

认识tcp/udp协议  

tcp基本语法
tcp循环发消息
udp基本语法
udp循环发消息
黏包  

基于tcp协议下的应用    socketserver并发
文件校验
服务器合法性校验
tcp登录

并发编程之进程    进程
join
守护进程
lock锁
Semaphore

生产者消费者模型    Event事件
进程队列Queue
生产者和消费者模型
JoinableQueue
Managerpy

并发编程之线程

线程
用类定义线程
守护线程
lock保证线程数据安全
信号量_Semaphore
死锁,互斥锁,递归锁

线程池,进程池,协成的使用

事件Event
线程队列
进程池和线程池
回调函数
协程
协程的爬虫案例
mysql安装(linux+windows+xshell+navicat)  

掌握数据库mysql基本 *** 作

mysql登录,服务启动
创建账户,用户授权
数据库,数据表,数据的增删改查
认识常用数据类型  

数据库的存储引擎和约束  

字段约束
约束的删减
存储引擎区别用法
数据表之间的关系  

查询数据表  

单表查询
多表联查
子查询
带EXISTS关键字的子查询

python *** 作mysql  

python连接mysql的事务处理
sql注入
python连接mysql增删改查
mysql数据恢复  

HTML/CSS    html文档介绍,html标签,body标签,head标签介绍,head标签中的meta标签和link标签和title标签介绍,body中的标签分类,基础标签,img、a、列表、表格、input、label、select等标签,作业讲解,form标签介绍和示例讲解,css介绍,引入,css选择器,背景设置,高度宽度,字体效果,边框、盒子模型、display属性、float属性等  

CSS    伪类选择器,文字装饰、a标签补充、定位、权重、小米商城导航栏讲解,原型头像示例讲解  

JS基础/BOM和DOM *** 作    小米商城作业,js介绍和js引入,js数据类型、流程控制、函数等 *** 作,js中的JSON,BOM对象的d框、location对象、定时器、直接查找选择器、间接查找选择器、值 *** 作、类值 *** 作、样式 *** 作、button按钮补充、事件和绑定事件的两种方式,常用事件练习  

jQuery/Bootstrap    作业讲解,jquery介绍,引入、选择器、筛选器、值 *** 作、文档 *** 作、删除和清空标签、逻辑运算符、克隆、事件冒泡和事件委托、绑定事件的方式,作业讲解和模态对话框示例,input事件和页面载入事件补充、bootstrap介绍和引入、全局css样式、组件和常用插件

自定义web框架    作业讲解、web框架介绍、自定义web框架实现、动态页面、返回不同的html页面、函数版、多线程版、返回静态文件版,wsgiref版等web框架通过socket来实现,还有jinja2的简单使用  

django下载安装和URL路由系统    django介绍、MTV和MVC框架介绍、常用指令、目录结构、pycharm创建django项目、request的常用属性介绍、登录示例、url路由系统介绍、有名分组和无名分组,  

视图/模板    request对象的常用方法和属性、响应方法介绍和使用,CBV和FBV、CBV和FBV加装饰器,CBV源码讲解,模板渲染系统介绍,语法、简单示例、内置过滤器、for循环标签、if标签、with标签、自定义过滤器和标签、模板继承等  

Dajngo的ORM(1)    orm介绍,数据库同步指令使用和流程分析、配置连接mysql模型类中的属性介绍和常用参数说明,创建表和数据、增加的两种方法、删除、更新的两种方法、查询的13个api接口  

Dajngo的ORM(2)    单表图书管理系统展示和添加作业讲解、choices属性、auto_now_add和auto_now参数讲解、url别名和反向解析,基于双下划线的模糊查询,多表结构介绍,图书管理系统编辑和删除作业讲解、多表关系模型类创建和字段说明和参数介绍、多表数据的添加 *** 作,多表的删除和修改、基于对象的跨表查询、双下划线跨表查询、查看原生sql语句的方法、聚合查询、分组查询、F查询、Q查询等  

Ajax与Django/ 中间件    ajax的介绍和简单示例,ajax登录示例、列表数据展示示例,ajax *** 作cookie的补充、中间件介绍、自定义中间件的方法、5个中间件方法的介绍和使用、基于中间件的session登录认证 

cookie、session以及用户认证组件    cookie介绍,cookie的流程解析,django *** 作cookie和其他参数介绍、session的说明、django的session *** 作等,多表图书管理系统作业讲解  

vue初识、es6基本语法、指令系统    let、const、v-if、v-for、v-html、v-text、v-model、v-show、生命周期钩子函数、  

组件化开发、组件传值、axios简单使用    组件化开发、组件传值、axios简单使用、vue-router使用、vue-cli安装  

项目初始化/首页    项目介绍、创建、初始化、element-ui的使用,单文件组件的使用和axios在单文件中的使用和配置、vue-cli的介绍和使用、路飞项目顶部导航栏页面效果搭建,轮播图组件的使用和调整、购物车页面搭建和课程详情页面搭建,vue-video-player视频播放插件  

drf组件    序列化器、drf简单示例、restful规范、反序列化的校验机制  

drf组件    apiview、request和response对象、modelserializer、序列化器保存数据、read_only和write_only的参数  

drf组件    viewset、drf路由功能、viewset视图基类的使用、视图子类、通用视图类genericapiview/排序、django-filter过滤器、频率组件、分页组件、接口文档、异常处理、xadmin的安装和使用、认证组件和权限组件  

git、消息队列    git企业中的使用模式,rabbimq消息队列的应用  

rpc通信,grpc组件    rpc的概念以及通信模式,最火的grpc组件使用 

轻量级Flask框架    Werkzeug服务介绍、Flask框架介绍  

路由系统、自定义路由扩展  

Cookie、Session、>

蓝图、消息闪现、中间件  

Flask常用扩展、WTForms、使用SQLAchemy ORM  

Admin、Restful、websocket原理、magic string, payload len,masking key   

请求和上下文、多app应用、离线脚本、自定义扩展 

服务端项目搭建,项目配置(session、数据库、日志相关),项目初始化  

jsonrpc模块基本配置和使用,客户端展示首页及登录注册叶绵,APICloud页面控制管理

python进阶    并发、同步、异步、锁,线进程概念以及协程实现原理  

mysql进阶课    基础知识梳理、索引、执行计划  

mysql进阶课    存储引擎、日志管理、备份恢复、主从赋值、优化  

redis,mongodb    事务和发布订阅、RDB和AOF持久化、缓存击穿、缓存雪崩等原理介绍、 用户管理和复制集(RS)总结、sharding cluster 分片集群的搭建、分片使用和相关策略等  

算法与设计模式    链表、二叉树、常见算法、二分查找、插入排序、希尔排序、快排、堆排序、哈希查找  

算法与设计模式    设计模式,单例模式、工厂模式、策略模式、观察者模式  

算法与设计模式    leetcode经典算法解析  

知识体系差不多就这么多了,再就是项目部分,具体项目要看需求了,学会了钓鱼的方法,不怕钓不到鱼哦,无论在哪个行业做什么样的项目都没问题呢!

我自己也搜集了一些经典的资料,要是想要加我百度网盘:艾美电商,我发给你!

楼主你这个问题我倒是知道:
list页面比较好解决,使用list_exclude即可,会隐藏显示列中的相应内容。
如list_exclude=['tel','money'],这两列都不会在显示列中出现,当然如果list_dispaly中有,还是会显示出值来,如果要简单达到只要出现在list_exclude中,无论显示列还是列表都不显示,修改下源码listpy588行:
rowcells = [selfresult_item(
obj, field_name, row) for field_name in selflist_display]
改成:
rowcells = [selfresult_item(
obj, field_name, row) for field_name in selflist_display if field_name not in selflist_exclude] 即可。
然而这样并不能达到隐藏信息的效果,因为详情页、修改页还是可以看到相应信息:exclude可以隐藏添加和修改页面的信息,然而详情页面不知道为什么不能。。。尝试看了源码,detail发送给模版的form已经完成了过滤,form中是没有相关字段的,然而使用{% crispy form %}渲染时又给加上了,怀疑是helper的问题,但看了源码也不知道到底哪里加上的。。。
尝试了一下,form_layout决定是否在各个页面显示,决定修改下源码,在detail的get_form_layout之前修改form_layout元祖的内容,把list_exclude中的数据全删掉,这样就能实现只配置一个list_exclude就各个页面都不显示指定字段了(增加和修改页面除外)
——————821补充————
最近对xadmin源码研究比较深入了,特意来补充下:
楼主的要求应该是某一类权限用户隐藏部分信息:
xadmin信息显示会在:list、update、detail三个页面都显示出来。这其中,list_display控制list显示,但用户可以在显示列中点击显示,使用list_exclude可以让显示列中也不显示该项目。每次勤快一点,确定要隐藏的字段不在display中,list_excelude中也有,那么也不必修改源码。
update页面也比较简单,要隐藏的信息通过exclude设置,需要注意的是也不同出现在readonly_fields中,不然仍然会在“其他字段”中提醒显示出来。另外还有一点,exclude同时也控制add页面的显示,增加时肯定是必须所有字段全部填写的,所以最好重写get_model_form方法,if "update" in selfrequestpath:selfexclude=[]
detail页面就复杂了,首先如果你不设置layout,那么exclude也完全可以控制,但如果设置了layout,出现在layout中的字段会在get_form_helper方法中通过replace_field_to_value被转化为showfield,即使它在modelform表单中已经被过滤了!所以如果想要在detail页面也隐藏,要么不要设置layout,要么就只能修改下replace_field_to_value方法,在方法中添加一道exclude的过滤了。
考虑到自定义布局几乎是必须的,还是建议修改源码,其实也很简单,如果字段在exclude中,就不要替换成showfield,反而要删除它即可,这样一来,就可以通过合理地修改exclude的值,同时在update、detail、add三个页面隐藏信息了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13356922.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-21
下一篇 2023-07-21

发表评论

登录后才能评论

评论列表(0条)

保存