小编P. *_*eda的帖子

Django 过滤器 | 布尔字段

我正在使用 django-filter 包,我有很多布尔字段。有没有办法仅在字段为 True 时进行过滤?并展示所有其他可能性?

例如,如果我有 3 个字段:True、False、False... 渲染第一个字段等于 True 但与 de rest 无关的对象,不要将其视为 False。

模型.py

class Product(models.Model):
    name = models.CharField(max_length=15)
    is_dangerous = models.BooleanField()
    is_secret = models.BooleanField()
    is_active = models.BooleanField()
Run Code Online (Sandbox Code Playgroud)

过滤器.py

class SearchFilter(django_filters.FilterSet):
    name = django_filters.CharFilter(lookup_expr='icontains')
    class Meta:
        model = Product
        fields = ['name', 'is_dangerous', 'is_secret', 'is_active',]
        filter_overrides = {
            models.BooleanField: {
                'filter_class': django_filters.BooleanFilter,
                'extra': lambda f: {
                    'widget': forms.CheckboxInput,
                },
            },
        }
Run Code Online (Sandbox Code Playgroud)

网址.py

url(r'^products/$', views.products, name='products')
Run Code Online (Sandbox Code Playgroud)

当我products/第一次进入时,我只看到所有布尔字段都为 False 的产品,我想看到所有产品。

python django django-filter

7
推荐指数
1
解决办法
1万
查看次数

Django:如何使用参数重定向

提交表单后,我想重定向到一个特定的视图,传递一个 flag=True 以激活一个弹出窗口,如:

def view1(request):
    if request.method == 'POST':
        form = Form(request.POST)
        if form.is_valid():
            form.save()
            return redirect('new_view') # Here I need to send flag=True
    else:
        form = Form()
        return render(request, 'template.html', {'form': form})
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

python django

6
推荐指数
1
解决办法
1万
查看次数

如何在生产中查看 Django 登录

我正在生产中部署一个 Django 项目,显然, DEBUG=False. 如何在开发环境中查看所有 Django 日志?

我已经配置了一个记录器,但我只能在文件中看到自定义日志。默认的在哪里?

python django logging

3
推荐指数
1
解决办法
6625
查看次数

标签 统计

django ×3

python ×3

django-filter ×1

logging ×1