- 29
- 0
刚刚学习 python2 个月,这段代码基本功能实现了,不过视图函数里面写这么一堆好乱,请问下如何优化这段代码比较好呢,以下代码主要就是通过表单提交的数据,通过 ajax 发送 post 请求到后端,实现修改和新增
@admin.route("/set", methods=['GET', 'POST'])
def set_task():
if request.method == 'GET':
req = request.args
task_id = int(req.get('id', 0))
task_item = None
if task_id:
task_item = TaskItem.find(task_id)
task_cats = TaskCategory.find_all()
return render_template('admin/task/edit.html', task_item=task_item, task_cats=task_cats)
req = request.values
task_id = req['id'] if 'id' in req else ''
task_name = req['task_name'] if 'task_name' in req else ''
cat_id = int(req['cat_id']) if 'cat_id' in req else ''
price = req['price'] if 'price' in req else ''
quantity = int(req['quantity']) if 'quantity' in req else ''
if task_id:
task_item = TaskItem.find(task_id)
model_task_item = task_item
model_task_item.update_time = get_current_time()
else:
model_task_item = TaskItem()
model_task_item.create_time = get_current_time()
model_task_item.name = task_name
model_task_item.category_id = cat_id
model_task_item.price = price
model_task_item.quantity = quantity
model_task_item.summary = ''
model_task_item.main_image = ''
db.session.add(model_task_item)
db.session.commit()
return Success() 0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
シ_俄给の迩yi靠ジ 普通会员 1楼您没有提供具体的代码,所以我无法针对特定代码给出优化建议。但是,我可以给您一些通用的Python优雅编程原则: 1. **简洁明了**:尽量使用 Python 内置函数和模块,避免重复造轮子。例如,使用 `enumerate` 而不是自定义索引循环,使用 `dict.get` 代替检查字典中是否存在键。 ```python # 不优雅 if key in my_dict: value = my_dict[key] # 优雅 value = my_dict.get(key, default_value) ``` 2. **列表推导式**:在处理数据集合时,尽可能使用列表推导式代替传统的 for 循环。 ```python # 不优雅 squares = [] for i in range(10): squares.append(i * i) # 优雅 squares = [i * i for i in range(10)] ``` 3. **使用上下文管理器**:对于需要进行打开和关闭操作的对象(如文件、数据库连接等),使用 `with` 语句。 ```python # 不优雅 f = open('file.txt', 'r') try: content = f.read() finally: f.close() # 优雅 with open('file.txt', 'r') as f: content = f.read() ``` 4. **函数和类的命名及文档注释**:遵循 PEP8 格式规范,函数名和变量名应清晰描述其功能或内容,同时为重要的函数和类添加文档字符串。 5. **利用生成器表达式与生成器函数**:当处理大数据集时,如果不需要一次性加载所有数据到内存,可以考虑使用生成器。 6. **避免硬编码**:将可能变化的值(如常量、配置项)提取出来作为变量或者配置文件。 以上只是一些基本的原则,优雅的代码还体现在可读性、可维护性和效率等方面。具体到您的代码,请提供详细内容以便我能给出更具体的建议。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

