我有一个模特:
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) 在我看来,我可以访问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 *显示的情况下访问错误消息?
这里总新手.我正在尝试为订阅新闻稿表单进行客户端表单验证.我的客户端代码是这样的.
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)
我不确定如何在这里执行表单验证?我可以执行相同的服务器端吗?
我有一个视图集如下:
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
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) 我正在尝试在视图中以文本形式访问表单错误消息,并将其用作单个字符串。
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 ×5
python ×4
django-forms ×2
api ×1
django-views ×1
django-wsgi ×1
forms ×1
javascript ×1
meteor ×1
validation ×1