小编blu*_*inc的帖子

Django Charfield null =未提出错误完整性错误

我有一个模特:

class Discount(models.Model):
    code = models.CharField(max_length=14, unique=True, null=False, blank=False)
    email = models.EmailField(unique=True)
    discount = models.IntegerField(default=10)
Run Code Online (Sandbox Code Playgroud)

在我的shell中,当我尝试保存没有输入的Discount对象时,它不会引发错误.我究竟做错了什么?

> e = Discount()
> e.save()
Run Code Online (Sandbox Code Playgroud)

python django django-models

4
推荐指数
1
解决办法
985
查看次数

在视图中访问 Django 表单错误消息

在我看来,我可以访问form['item'].errors它,它给了我类似的东西:

> form.is_valid()
 False
> 
> e = form['name'].errors
>
> print e
 <ul class="errorlist"><li>There already exists an item with this name. Try a different one.</li></ul>
>
> e.as_text()
* name\n  * There already exists an item with this name. Try a different one.
Run Code Online (Sandbox Code Playgroud)

但是,如何在There already exists...没有 HTML 标记或*name\n *显示的情况下访问错误消息?

python django django-forms django-views

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

MeteorJS电子邮件表单验证

这里总新手.我正在尝试为订阅新闻稿表单进行客户端表单验证.我的客户端代码是这样的.

Template.body.events({
    "submit .new-subscriber": function (event) {
      // This function is called when the new task form is submitted
      var newEmail = event.target.newEmail.value;
     if (newEmail is email?){

     Meteor.call("addNewSubscriber", newEmail);
     }
Run Code Online (Sandbox Code Playgroud)

我不确定如何在这里执行表单验证?我可以执行相同的服务器端吗?

javascript forms validation meteor

2
推荐指数
1
解决办法
1560
查看次数

Django Rest Framework:根据身份验证更改序列化程序或添加字段

我有一个视图集如下:

class CardViewSet(viewsets.ReadOnlyModelViewSet):
    """
    Standard Viewset for listing cards
    """
    pagination_class = StandardCellSetPagination
    permission_classes = [AllowAny, IsAuthenticated]

    def list(self, request):
        queryset = Card.objects.exclude(reply_to__isnull=False).order_by('-created')
        cards = self.paginate_queryset(queryset)
        serializer = CardCellSerializer(cards, many=True)
        return self.get_paginated_response(serializer.data)

    def retrieve(self, request, pk=None):
        queryset = Card.objects.all()
        card = get_object_or_404(queryset, pk=pk)
        serializer = CardSerializer(card)
        return Response(serializer.data)
Run Code Online (Sandbox Code Playgroud)

我的CardSerializer序列化器是:

class CardSerializer(serializers.ModelSerializer):
    class Meta:
        model = Card
Run Code Online (Sandbox Code Playgroud)

我该怎么做

  • 如果视图集具有权限,则更改检索方法的序列化程序IsAuthenticated?要么
  • CardSerializerif视图集中添加一个字段IsAuthenticated

True / False如果用户通过a收藏了卡,我可以返回SerializerMethodField

python api django django-rest-framework

2
推荐指数
1
解决办法
1449
查看次数

Django WSGIRequest 参数错误

AttributeError("'WSGIRequest' object has no attribute 'args'",) 当我尝试拨打这个电话时,我得到了这个

GET /sign_s3/?s3_object_type=image/jpeg&s3_object_name=default_name

我错过了什么吗?

*args, **kwargs除了请求,我还需要包括吗?

这是回溯:

            response = middleware_method(request, callback, callback_args, callback_kwargs)
            if response:
                break
    if response is None:
        wrapped_callback = self.make_view_atomic(callback)
        try:
            response = wrapped_callback(request, *callback_args, **callback_kwargs) ...
        except Exception as e:
            # If the view raised an exception, run it through exception
            # middleware, and if the exception middleware returns a
            # response, use that. Otherwise, reraise the exception.
            for middleware_method in self._exception_middleware:
                response = middleware_method(request, e)
Run Code Online (Sandbox Code Playgroud)

风景:

@login_required()
def …
Run Code Online (Sandbox Code Playgroud)

python django django-wsgi

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

Django:所有形式错误消息都作为单个字符串

我正在尝试在视图中以文本形式访问表单错误消息,并将其用作单个字符串。

error_string = ' '.join(form.errors['email'].as_data())
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

sequence item 0: expected str instance, ValidationError found
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

django django-forms

1
推荐指数
2
解决办法
1059
查看次数