小编dar*_*rse的帖子

如何设置只接受3个特定单词的Django URL正则表达式?

我的urls.py现在设置如下:

urlpatterns = [
url(r'^(?P<content_type_name>[a-zA-z-_]+)$', views.content_type, name = 'content_type'),
]
Run Code Online (Sandbox Code Playgroud)

这使得这个url将接受由 - 或_或两者分隔的任何单词或单词串.但是,我想要一个只接受content_type_name参数的三个单词之一的正则表达式 - "漫画","文章","视频".

我该如何设置?

python regex django django-urls

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

TypeError:__ init __()为关键字参数'view_name'获取了多个值

我正在使用Django Rest Framework,我不知道为什么我会收到此错误.

models.py

from __future__ import unicode_literals

from django.db import models
from django.contrib.auth.models import AbstractUser

class User(AbstractUser):
    followers = models.ManyToManyField('self', related_name='followees', symmetrical=False)

class Post(models.Model):
    author = models.ForeignKey(User, related_name = 'posts')
    title = models.CharField(max_length = 255)
    body = models.TextField(blank = True, null = True)

class Photo(models.Model):
    post = models.ForeignKey(Post, related_name = 'photos')
    image = models.ImageField(upload_to = '%Y/%m/%d')
Run Code Online (Sandbox Code Playgroud)

serializers.py

from rest_framework import serializers

from .models import *

class UserSerializer(serializers.ModelSerializer):
    # Getting the list of posts made by particular users using the …
Run Code Online (Sandbox Code Playgroud)

django django-rest-framework

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

如果在Python字典中查找失败,则查找最接近的键对

可以说我有一个Python字典,其中的键实际上是整数。我可以这样创建一个:

>>> d = dict([(1, 0), (7, 10), (28, 20)])
>>> d
{1: 0, 7: 10, 28: 20}
Run Code Online (Sandbox Code Playgroud)

现在,我想查找如果找到了密钥,则返回其索引。这部分真的很容易,就像这样:

>>> key = 7
>>> d[key]
10
Run Code Online (Sandbox Code Playgroud)

如果找不到密钥,那么我想返回密钥的绑定。例如:

>>> key = 6
>>> d[key]
Bound(1, 7)
Run Code Online (Sandbox Code Playgroud)

由于6不作为键存在,因此我返回了它们之间的2个键。基本上不迭代整个字典,是否有可能这样做?如果不是,那么这个问题实际上并不需要回答。如果确实可行,请尽可能包含一些性能影响。谢谢。

python dictionary

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

如何在 Google Cloud Functions 中处理 Python 函数中的线程?

我正在使用 Google Cloud Functions 运行一个 Python 函数,该函数正被我的 Facebook Messenger 机器人攻击。Facebook Messenger 有一个奇怪的要求:

当您收到 webhook 事件时,您必须始终返回 200 OK HTTP 响应。Messenger 平台将每 20 秒重新发送一次 webhook 事件,直到收到 200 OK 响应。未能返回 200 OK 可能会导致您的 webhook 被 Messenger 平台取消订阅。

换句话说,我有 20 秒的时间从我的云函数返回 200 OK 响应。问题是我需要使用 a 将我从消息中收到的数据实际发送到另一个 API requests.post,并且基本上不能保证它会花费少于 20 秒。所以理想情况下,我想使用线程和多处理。我意识到谷歌不允许线程。有什么办法可以处理这种情况?谢谢。

python google-cloud-functions

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

Django Rest Framework 序列化器更新方法不保存对象

我已经覆盖了我的一个序列化程序的更新方法,以便在保存对象之前调用模型的方法。像这样:

class MyModelSerializer(serializers.ModelSerializer):
    class Meta:
        model = MyModel
        fields = [...]

    def update(self, instance, validated_data):
        instance.model_method()
        instance.save()
        return instance
Run Code Online (Sandbox Code Playgroud)

在我看来,我正在使用 保存序列化程序serializer.save(),当然也使用MyModelSerializer(instance, data=request.data). 但是,我的实例没有被保存。只需删除 update 方法即可保存实例,但model_method()显然不会调用。我该如何解决这个问题?谢谢你的帮助。

django django-serializer django-rest-framework

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

为什么在为 Python 创建自定义 AWS Lambda 层时无法导入模块?

我有一个名为 的模块custom_module.py,其中包含我想在几个不同的 Lambda 中使用的函数和方法。代码如下所示:

def test():
    return 'Custom module'
Run Code Online (Sandbox Code Playgroud)

我尝试通过压缩该文件并使用表单创建一个层来将其转换为 Lambda 层。一切似乎都运行良好,我将模块导入到 Lambda 中使用,如下所示:

import json
from custom_module import test

print('Loading function')

def lambda_handler(event, context):
    return test()
Run Code Online (Sandbox Code Playgroud)

不幸的是,运行它会返回一个"Unable to import module 'lambda_function': No module named 'custom_module'"错误。我到底做错了什么?我还指定了正确的运行时和架构。

编辑

根据评论,我尝试了这个文件结构:

layer
|
+--- python
     |
     +--- custom_module
          |
          +--- __init__.py (contains the test() method)
Run Code Online (Sandbox Code Playgroud)

layer我将文件夹压缩layer.zip并上传。不幸的是仍然遇到同样的问题。

python amazon-web-services aws-lambda aws-lambda-layers

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

如何使用Django中的函数过滤查询集?

我的模型设置如下:

class Article(models.Model):
    published_date = models.DateTimeField(defualt = timezone.now())
    .....
    def was_published_in_last_week(self):
        now = timezone.now()
        return now - datetime.timedelta(days = 7) <= self.published_date <= now
Run Code Online (Sandbox Code Playgroud)

该功能检查文章是否在最近7天内发布,并且工作正常。

但是,如何使用此查询来获取仅包含最近7天发布的文章的查询集?

提前致谢!

django django-models

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

如何在 Django Rest Framework 中保存序列化器之前调用模型的方法?

我有一个模型,我试图使用 DRF 创建一个对象。模型类有一个我想在保存序列化器之前调用的方法。像这样的东西:

class MyModel(models.Model):
    ...
    def do_something(self):
        ...
Run Code Online (Sandbox Code Playgroud)

序列化器代码:

serializer = MyModelSerializer(data=request.data)
serializer.obj.do_something() # Does not work
serializer.save()
Run Code Online (Sandbox Code Playgroud)

希望你们能明白。

django django-rest-framework

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

如何通过覆盖 onsubmit 事件来停止表单验证?

我试图阻止浏览器在提交时验证表单。我已覆盖onsubmit事件以使用我自己的函数。不幸的是,当我提交表单时,它仍然经过验证,并且我的函数没有运行。以下是代码:

function submitFunction() {
  alert("Name is required.");
  event.preventDefault();
}
Run Code Online (Sandbox Code Playgroud)
<form  onsubmit="submitFunction()">
  <input type="text" placeholder="Name" required>
  <input type="submit" value="submit">
</form>
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?谢谢你的帮助!

html javascript

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

排除子元素受 CSS 动画的影响

我有以下标记:

<div class="container">
  <div class="content">
    ...
    <div class="no-animate">
      ...
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

所以我想将 CSS 动画应用到.container,但排除.no-animate它的内部。请注意,.no-animate具有position: fixed属性,这就是为什么我想排除它。

我已经尝试过以下方法:

@keyframes my-animation {
    12.5% {
        transform: translateX(-0.5rem);
    }
    37.5% {
        transform: translateX(0.5rem);
    }
    62.5% {
        transform: translateX(-0.2rem);
    }
    87.5% {
        transform: translateX(0.2rem);
    }
}
.container {
    animation: my-animation 0.5s;
    animation-timing-function: linear;
}
.container .no-animate {
    animation: none;
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,这似乎没有任何效果,并且.no-animate由于动画而移动。任何帮助是极大的赞赏。

css

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