python - Django:简化 View

标签 python django

我有以下简单的看法。有什么方法可以让它更有活力吗?

# ...

if 'folding' not in request.session:
    request.session['folding'] = {'shop':False,'users':False,'chat':False}

# ...

def update_folding_view(request,category,is_folded):
    if request.is_ajax():
        folding = request.session['folding']
        if 'shop' in category:
            folding.shop = is_folded
        if 'users' in category:
            folding.users = is_folded
        if 'chat' in category:
            folding.chat = is_folded
        request.session['folding'] = folding
    else:
        raise Http404

最佳答案

这是我得到的:

from collections import defaultdict

...

if 'folding' not in request.session:
    request.session['folding'] = defaultdict(bool)

...

def update_folding_view(request, category, is_folded):
    if not request.is_ajax():
         raise Http404
    for item in category:             
        request.session['folding'][item] = is_folded

关于python - Django:简化 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12803171/

相关文章:

python - 如何计算 DataFrame 对象中的类别数?

python - 删除 pandas dataframe 列中包含 False 的行

python - 当我尝试导入自定义库时,如何修复 Visual Studio Code 中的 pylint(import-error)?

python - 在 Python 中对不同函数重用单元测试的良好实践

django - 通过反向外键关系过滤使用存在的元素

django - 如何让 django-cron 自动工作

django - 我在我的项目中使用 django、postgresql、redis、channels、Docker 工具。我对 Docker postgresql 镜像有一些问题

python - 嵌套组在 RegEx 中是如何处理的?

Django 相当于 sum+case

django 1.9 在生产中提供媒体文件