django 进阶顺序
一、巩固基础(确保地基稳固) 理解 MTV 架构 Model(数据建模) Template(前端展示) View(逻辑控制) 掌握基本功能 URL routing(urls.py 的使用) 表单处理(Django Forms 和 ModelForms) ORM 查询(增删改查 + Q/F 查询) 管理后台自定义 中间件(Middleware)基础用法 推荐资源: 官方文档:https://docs.djangoproject.com/ 教程项目:Django Girls(适合入门巩固)https://tutorial.djangogirls.org/ 二、进阶技能(从开发者变成“工程师”) 项目结构与模块化设计 多 app 项目管理 使用 settings 分环境配置(如 settings/dev.py, settings/prod.py) 用户认证与权限 Django 的 auth 模块 自定义用户模型(如使用 AbstractUser) 权限系统、组(Groups)与装饰器(如 @login_required, @permission_required) Django 中的异步(Async)支持 了解 Django 3.1+ 开始支持的 async view 学会识别适合异步的场景(如
celery
创建独立模块 avec django, from celery import shared_task app = Celery(‘tasks’, broker=’amqp://guest@localhost//’) sans framework @shared_task def add(x, y): sleep(1) return x + y def index(request): result = add.delay(4, 5) return render(request, « index.html », {« uuid »: result})
duckdb
Base: import duckdb duckdb.sql(« SELECT 42 »).show() r1 = duckdb.sql(« SELECT 42 AS i ») duckdb.sql(« SELECT i * 2 AS k FROM r1 »).show() Data Input import duckdb duckdb.read_csv(« example.csv ») # read a CSV file into a Relation duckdb.read_parquet(« example.parquet ») # read a Parquet file into a Relation duckdb.read_json(« example.json ») # read a JSON file into a Relation duckdb.sql(« SELECT * FROM ‘example.csv’ ») #
polars
read_csv: 读取文件 pl.read_csv(« data.csv ») write_csv: 写文件 pl.write_csv(« output.csv ») Dataframe: df = pl.DataFrame({ ‘name’: [‘Alice’, ‘Bob’, ‘Charlie’], ‘age’: [25, 30, 28], ‘city’: [‘Beijing’, ‘Shanghai’, ‘Shenzhen’] }) filter 筛选 df_filtered = df.filter(pl.col(‘age’) > 30 ) sort 生序 df_sorted = df.sort(« age ») groupby df_grouped = df.groupby(‘city’).agg([pl.col(« age »).mean().alias(« average_age »)])
Pandas
https://www.runoob.com/pandas/pandas-tutorial.html 数据源 series 类似于一个一维的数组,具有数据和索引 example: data_series = pd([1, 2, 3], indexname=’A’) shape: 维度信息 reviews.shape dataFrame: 类似于一个二维的表格或数据库中的数据表 https://www.runoob.com/pandas/pandas-dataframe.html example: data = [[1, 2], [3, 4]] df = pd.dataFrame(data, columns=[‘col1’, ‘col2’]) astype: 设置每列的数据类型 df[‘col1’] = df[‘col1’].astype(str) loc: 返回指定行的数据, [行标签, 列标签] print(df.loc[1, ‘country’]) print(df.loc[[1, 2]]) 返回第一行,第二行 df.loc[df[‘age’] > 25] iloc: [行号, 列号] reviews.iloc[1:3, 0] describe() reviews.points.describe() CSV
Redis
connect au serveur redis-cli 字符 https://www.runoob.com/redis/redis-keys.html SET set name_key value (set test1 longyu) GET get name_key (get test1) DEL del name_key 列表 https://www.runoob.com/redis/redis-lists.html LPUSH key value (创建一个列表) LRANGE key (返回列表里的值) 集合(set) https://www.runoob.com/redis/redis-sets.html SADD key alue(创建集合,加入值到集合) 有序集合 https://www.runoob.com/redis/redis-sorted-sets.html ZADD key order alue (ZADD name 1 longyu) 订阅发布 https://www.runoob.com/redis/redis-pub-sub.html subscribe publish python 用 redis 插件 参数检查 显示查找