小编Arp*_*nki的帖子

使用Pymongo获取集合的所有文档

我想编写一个函数来返回mycollectionmongodb中包含的所有文档

from pymongo import MongoClient

if __name__ == '__main__':
    client = MongoClient("localhost", 27017, maxPoolSize=50)
    db=client.mydatabase
    collection=db['mycollection']
    cursor = collection.find({})
    for document in cursor:
        print(document)
Run Code Online (Sandbox Code Playgroud)

但是,该函数返回: Process finished with exit code 0

python mongodb pymongo

47
推荐指数
3
解决办法
6万
查看次数

django.db.migrations.exceptions.InconsistentMigrationHistory

当我跑

python manage.py migrate
Run Code Online (Sandbox Code Playgroud)

在我的django项目中,我收到以下错误

Traceback (most recent call last):
File "manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "/home/hari/project/env/local/lib/python2.7/site-     packages/django/core/management/__init__.py", line 363, in execute_from_command_line
utility.execute()
File "/home/hari/project/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 355, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/hari/project/env/local/lib/python2.7/site-packages/django/core/management/base.py", line 283, in run_from_argv
self.execute(*args, **cmd_options)
File "/home/hari/project/env/local/lib/python2.7/site-packages/django/core/management/base.py", line 330, in execute
output = self.handle(*args, **options)
File "/home/hari/project/env/local/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 86, in handle
executor.loader.check_consistent_history(connection)
File "/home/hari/project/env/local/lib/python2.7/site-packages/django/db/migrations/loader.py", line 298, in check_consistent_history
connection.alias,
django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency account.0001_initial on database 'default'.
Run Code Online (Sandbox Code Playgroud)

我有一个像下面这样的用户模型

class User(AbstractUser):
place …
Run Code Online (Sandbox Code Playgroud)

python django database-migration django-models django-rest-framework

46
推荐指数
10
解决办法
4万
查看次数

cmake中"不允许使用源内构建"

我是cmake的新手,我只是用它在我的ubuntu linux上安装opencv.这是我跑的命令:

"cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/home/jinha/OCV/source"
Run Code Online (Sandbox Code Playgroud)

然后它返回错误:

"FATAL: In-source builds are not allowed.
You should create separate directory for build files."
Run Code Online (Sandbox Code Playgroud)

我当前的目录/ home/jinha/OCV/build/opencv确实包含CMakefiles.txt文件,所以这不是问题所在.我试图在命令中更改目录,但它们都引发了同样的错误.我在这个问题上看到了其他答案,所以每次运行命令之前我都会删除CMakeFiles文件夹和CMakeCache.txt文件,但是没有一个能够工作.谢谢.

linux opencv cmake

36
推荐指数
2
解决办法
3万
查看次数

Django的.在自定义小部件的情况下TemplateDoesNotExist

我正在尝试在Django管理员中创建自定义小部件.我创建了一个类:

class FroalaWYSIWYGTextareaWidget(django.forms.widgets.Textarea):
    template_name = 'froala_wysiwyg.html'
Run Code Online (Sandbox Code Playgroud)

然后一个简单的模型形式:

class ArticleForm(django.forms.ModelForm):
    class Meta:
        fields = '__all__'
        model = Article
        widgets = {
            'content': FroalaWYSIWYGTextareaWidget(),
        }
Run Code Online (Sandbox Code Playgroud)

这是我的设置:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_PATH, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.template.context_processors.media',
                'django.template.context_processors.static',
                'django.template.context_processors.i18n',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
Run Code Online (Sandbox Code Playgroud)

Usualy一切正常,Django可以在我的/ templates /目录中找到模板,但是在这个小部件的情况下,我有一个500错误:

TemplateDoesNotExist at /admin/article/article/1/change/
froala_wysiwyg.html
Request Method: GET
Request URL:    http://127.0.0.1:8000/admin/article/article/1/change/
Django Version: 1.11.4
Exception Type: TemplateDoesNotExist
Exception Value: froala_wysiwyg.html
Exception Location: /home/username/.virtualenvs/sitename/lib/python3.5/site-packages/django/template/engine.py in find_template, line 148
Python …
Run Code Online (Sandbox Code Playgroud)

python django django-templates django-forms

16
推荐指数
2
解决办法
2325
查看次数

上传大文件到AWS S3存储和Django在Heroku上没有30多岁的请求超时

我有一个django应用程序,允许用户上传视频.它托管在Heroku上,以及存储在S3 Bucket上的上传文件.在从Django app获得预先签名的请求后,我使用JavaScript直接将文件上传到S3.这是由于Heroku 30s请求超时.无论如何,我可以通过Django后端上传大文件而不使用JavaScript并破坏用户体验吗?

python django heroku amazon-s3 large-files

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

Django服务器没有将日志发送到Logstash

我正在使用ELK堆栈从我的Django服务器进行集中式日志记录.我的ELK堆栈位于远程服务器上,logstash.conf如下所示:

input {
    tcp {
    port => 5959
    codec => json
  }
}
output {
  elasticsearch {
    hosts => ["xx.xx.xx.xx:9200"]
  }
}
Run Code Online (Sandbox Code Playgroud)

两个服务elasticsearch和logstash都正常工作(使用检查docker-compose logs logstash).

我的Django服务器的设置文件的日志配置如下:

LOGGING = {
  'version': 1,
  'handlers': {
        'logstash': {
            'level': 'INFO',
            'class': 'logstash.TCPLogstashHandler',
            'host': 'xx.xx.xx.xx',
            'port': 5959, # Default value: 5959
            'version': 0, # Version of logstash event schema. Default value: 0 (for backward compatibility of the library)
            'message_type': 'django',  # 'type' field in logstash message. Default value: 'logstash'.
            'fqdn': …
Run Code Online (Sandbox Code Playgroud)

python django logstash elastic-stack

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

如何使用pymongo删除一个集合?

我使用MongoDB scarpy来抓取数据并将其保存到云托管中mLab.

我的收藏名称是recently,数据的数量是5. 在此输入图像描述

我想再次抓取数据并更新我的集合recently,所以我尝试删除集合然后插入.

这是我的代码pipelines.py:

from pymongo import MongoClient
from scrapy.conf import settings

class MongoDBPipeline(object):

    def __init__(self):
        connection = MongoClient(
            settings['MONGODB_SERVER'],
            settings['MONGODB_PORT'])
        db = connection[settings['MONGODB_DB']]
        # here is my collection name recently setting
        self.collection = db[settings['MONGODB_COLLECTION']]

    def process_item(self, item, spider):
        # try to drop my collection recently
        self.collection.drop()
        self.collection.insert(dict(item))
        return item
Run Code Online (Sandbox Code Playgroud)

但是当我运行我的蜘蛛时,我看到我的收集recently计数是10(它应该是5我想要的) 在此输入图像描述

我正在寻找一些如何删除集合的代码.它只是说db.[集合名称] .drop()

但是,当我尝试self.collection.drop()之前,它在我的情况下无效self.collection.insert(dict(item))

任何人都可以给我一些建议我的代码有什么问题?

那将是值得赞赏的.提前致谢.

python scrapy pymongo

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

RuntimeError:永远不要在任务Celery中调用result.get()

我正在使用芹菜将任务发送到远程服务器并尝试将结果返回.使用远程服务器上的update_state方法不断更新任务状态.

我正在使用发送任务

app.send_task('task_name')
Run Code Online (Sandbox Code Playgroud)

得到celery任务的结果是一个阻塞调用,我不希望我的django应用程序等待结果和超时.

所以我尝试运行另一个芹菜任务来获得结果.

@app.task(ignore_result=True)
def catpure_res(task_id):
    task_obj = AsyncResult(task_id)
    task_obj.get(on_message=on_msg)
Run Code Online (Sandbox Code Playgroud)

但它导致下面的错误.

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/celery/app/trace.py", line 367, in trace_task
    R = retval = fun(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/celery/app/trace.py", line 622, in __protected_call__
    return self.run(*args, **kwargs)
  File "/home/arpit/project/appname/tasks/results.py", line 42, in catpure_res
    task_obj.get(on_message=on_msg)
  File "/usr/local/lib/python2.7/dist-packages/celery/result.py", line 168, in get
    assert_will_not_block()
  File "/usr/local/lib/python2.7/dist-packages/celery/result.py", line 44, in assert_will_not_block
    raise RuntimeError(E_WOULDBLOCK)
RuntimeError: Never call result.get() within a task!
See http://docs.celeryq.org/en/latest/userguide/tasks.html#task-synchronous-subtasks
Run Code Online (Sandbox Code Playgroud)

是否有此错误的解决方法.我是否必须运行守护进程才能获得结果?

python django redis celery

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

Git,提交和推送更改后删除的文件不起作用

通常当我必须提交我的日常工作时,我使用:

git add * 
git commit -m "my commit message"
git push origin master
Run Code Online (Sandbox Code Playgroud)

这些命令非常基础。但我注意到已删除的文件并未从我的远程存储库中删除。事实上,如果我在 Github 上推送更改后删除通用文件“example.txt”(在我的本地文件夹中),该文件仍然存在。

技术上用git add *删除的文件应该可以识别,还是不行?如何从远程仓库中删除已删除的文件?

谢谢

git github

7
推荐指数
2
解决办法
7008
查看次数

在 Airflow 中实现等待特定标准的有效方法

Airflow 中的传感器- 是某种类型的操作符,会一直运行直到满足某个标准,但它们会占用一个完整的工作槽。好奇人们是否能够可靠地使用更有效的方法来实现这一点。

我的一些想法

  • 使用池来限制分配给传感器的工作槽数量
  • 跳过下游的所有任务,然后通过外部触发器清除和恢复
  • 暂停 DAG 的运行并通过外部触发器再次恢复

其他相关链接:

python airflow airflow-scheduler

7
推荐指数
2
解决办法
3333
查看次数