我的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参数的三个单词之一的正则表达式 - "漫画","文章","视频".
我该如何设置?
我正在使用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) 可以说我有一个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个键。基本上不迭代整个字典,是否有可能这样做?如果不是,那么这个问题实际上并不需要回答。如果确实可行,请尽可能包含一些性能影响。谢谢。
我正在使用 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 秒。所以理想情况下,我想使用线程和多处理。我意识到谷歌不允许线程。有什么办法可以处理这种情况?谢谢。
我已经覆盖了我的一个序列化程序的更新方法,以便在保存对象之前调用模型的方法。像这样:
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()显然不会调用。我该如何解决这个问题?谢谢你的帮助。
我有一个名为 的模块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并上传。不幸的是仍然遇到同样的问题。
我的模型设置如下:
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天发布的文章的查询集?
提前致谢!
我有一个模型,我试图使用 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)
希望你们能明白。
我试图阻止浏览器在提交时验证表单。我已覆盖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)
我怎样才能解决这个问题?谢谢你的帮助!
我有以下标记:
<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由于动画而移动。任何帮助是极大的赞赏。
django ×5
python ×4
aws-lambda ×1
css ×1
dictionary ×1
django-urls ×1
html ×1
javascript ×1
regex ×1