我在迁移时遇到了ProgrammingError,我认为这可能与django-allauth与自定义用户的使用有关.这就是我的工作
1 /用psql创建一个新的数据库:
create database dj_example;
Run Code Online (Sandbox Code Playgroud)
2/Installed_apps包含django.contrib.sites:
DJANGO_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
)
THIRD_PARTY_APPS = (
'crispy_forms', # Form layouts
'allauth', # registration
'allauth.account', # registration
#'allauth.socialaccount', # registration
#'allauth.socialaccount.providers.twitter',
'djcelery', #Celery
)
LOCAL_APPS = (
'tucat.users', # custom users app
}
Run Code Online (Sandbox Code Playgroud)
3/site_id设置为1
SITE_ID = 1
Run Code Online (Sandbox Code Playgroud)
4 /自定义用户模型过于简单:
# -*- coding: utf-8 -*-
from __future__ import unicode_literals, absolute_import
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
def __unicode__(self):
return self.username
Run Code Online (Sandbox Code Playgroud)
5/Makemigrations工作正常
# python manage.py makemigrations
Migrations for …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种限制何时调用函数的方法,但仅当输入参数不同时,即:
@app.task(rate_limit="60/s")
def api_call(user):
do_the_api_call()
for i in range(0,100):
api_call("antoine")
api_call("oscar")
Run Code Online (Sandbox Code Playgroud)
所以,我想api_call("antoine")被称为每秒60次和api_call("oscar") 每秒60次为好.
有什么帮助,我该怎么办?
--EDIT 27/04/2015我尝试在任务中调用带有rate_limit的子任务,但它也不起作用:rate_limit总是应用于所有实例化的子任务或任务(这是逻辑的).
@app.task(rate_limit="60/s")
def sub_api_call(user):
do_the_api_call()
@app.task
def api_call(user):
sub_api_call(user)
for i in range(0,100):
api_call("antoine")
api_call("oscar")
Run Code Online (Sandbox Code Playgroud)
最好!
我愿意通过他们的 API 将 Google Analytics 和 Google Search Console 数据直接显示到 Superset 中。
我怎样才能这样做呢?
我找不到 Google Analytics 数据源。我也找不到 Google Search Console 数据源。
我找不到在 Superset 中显示从 API 检索的数据的方法,只能显示存储在数据库中的数据。我肯定遗漏了一些东西,但我在文档中找不到与身份验证和查询外部 API 相关的任何内容。
我有以下 Mongodb 数据库结构:
{
"_id" : "519817e508a16b447c00020e",
"keyword" : "Just an example query",
"rankings" :
{
results:
{
"1" : { "domain" : "example1.com", "href" : "http://www.example1.com/"},
"2" : { "domain" : "example2.com", "href" : "http://www.example2.com/"},
"3" : { "domain" : "example3.com", "href" : "http://www.example3.com/"},
"4" : { "domain" : "example4.com", "href" : "http://www.example4.com/"},
"5" : { "domain" : "example5.com", "href" : "http://www.example5.com/"},
...
...
"99" : { "domain" : "example99.com", "href" : "http://www.example99.com/"}
"100" : {"domain" : "example100.com", "href" …Run Code Online (Sandbox Code Playgroud) 我有以下类型的文件:
{
"_id" : ObjectId("538d64a11ca6e50941fda4d9"), "_id" : "538d518e20b8fd642e0000e8",
"posts" : "some stuff", "date" : "2014-06-02"
}
Run Code Online (Sandbox Code Playgroud)
使用字符串日期的比较运算符(不是Mongodb ISODate)有效:
> collection.find({"date": {"$gte": "2014-06-02"}})
Run Code Online (Sandbox Code Playgroud)
那么为什么我们(麻烦)将字符串日期转换为ISODate呢?
我有一个类在init之前运行一些代码:
class NoFollowSpider(CrawlSpider):
rules = ( Rule (SgmlLinkExtractor(allow=("", ),),
callback="parse_items", follow= True),
)
def __init__(self, moreparams=None, *args, **kwargs):
super(NoFollowSpider, self).__init__(*args, **kwargs)
self.moreparams = moreparams
Run Code Online (Sandbox Code Playgroud)
我使用以下命令运行此scrapy代码:
> scrapy runspider my_spider.py -a moreparams="more parameters" -o output.txt
Run Code Online (Sandbox Code Playgroud)
现在,我希望命令规则的静态变量可以从命令行进行配置:
> scrapy runspider my_spider.py -a crawl=True -a moreparams="more parameters" -o output.txt
Run Code Online (Sandbox Code Playgroud)
将init更改为:
def __init__(self, crawl_pages=False, moreparams=None, *args, **kwargs):
if (crawl_pages is True):
self.rules = ( Rule (SgmlLinkExtractor(allow=("", ),), callback="parse_items", follow= True),
)
self.moreparams = moreparams
Run Code Online (Sandbox Code Playgroud)
但是,如果我在init中切换静态变量规则,scrapy不再考虑它:它运行,但只抓取给定的start_urls而不是整个域.似乎规则必须是静态类变量.
那么,我该如何动态设置静态变量呢?
我愿意在短语中间匹配基于 [Ssinn] 的单词:
\n\n\nSinn、Sinne、Sinnes、sinnbelebte、sinnbelebten、sinnbelebter、sinnerf\xc3\xbclelenden、sinnerf\xc3\xbcllendem、Sinnesgehalt、sinngebenden、Sinnesbest\xc3\xa4nde、Sinnlosigkeit、Sinnesmodifikation、sinnleeren Zeichen、sinnverleihende Akte、Widersinn、更宽的sinnigen A乌斯德鲁克
\n
但要排除以下以-lich后缀开头的
\n\n\n辛利克特
\n
例如,在以下短语中,sinngebenden应匹配,但不匹配 sinnliche
\n\n\n此外,我还认为,在犯罪行为中, der ein ganz anderer ist, je nachdem das Interesse auf das sinnliche Zeichen oder auf das mittels des Zeichens vorstellig gemachte (wenn auch durch keinerlei Phantasievorstellung verbildlichte) Objekt Gerichtet ist, liegt die Bedeutung
\n
到目前为止我想出了
\n\n\n(?:\\S+)?(?:[Ss]inn)(?:\\S+)?
\n
但为了排除lich后缀,我尝试了
\n\n\n(?:\\S+)?(?:[Ss]inn)((?!lich)(?:\\S+))?
\n
这似乎不适用于 Javascript RegEx...
\n谢谢!
\n