小编43T*_*cts的帖子

Django:更改查询集中所有对象的字段值

我有一个MyModel带有布尔字段的模型active

在其他地方,我正在检索一个查询集:

qs = MyModel.Objects.filter(....) 
Run Code Online (Sandbox Code Playgroud)

如何active=False为此中的所有对象设置qs

python django django-queryset

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

Django:timezone.now vs timezone.now()

我正在将我的项目从Django 1.8.2升级到1.9.7,我收到了这个警告:

WARNINGS:
my_app.my_model.date_available: (fields.W161) Fixed default value provided.
HINT: It seems you set a fixed date / time / datetime value as default for this field. This may not be what you want. 
If you want to have the current date as default, use `django.utils.timezone.now
Run Code Online (Sandbox Code Playgroud)

这是my_app/models.py中的行:

from django.utils import timezone
...
class my_model(models.Model):
    ...
    datetime_released = models.DateTimeField(default=timezone.now() )
Run Code Online (Sandbox Code Playgroud)

如果我删除括号而改为使用:

datetime_released = models.DateTimeField(default=timezone.now )
Run Code Online (Sandbox Code Playgroud)

Django警告消失了.这两者有什么区别?


在我的项目的另一个领域,我在queryset过滤器中使用timezone.now():

def date_available(self):
        return self.filter(date_available__lte = timezone.now())
Run Code Online (Sandbox Code Playgroud)

在这里,如果删除括号,则会抛出错误:

TypeError: expected string or buffer


我可以通过添加/删除所需的括号内同时获得这两项工作,但之间有什么区别timezone.now() …

python django timezone

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

在rateLimit错误后清除待处理的证书授权(ACME)

我正在为我的网站使用Let's Encrypt,我的cron作业中出现错误,当我尝试手动续订($ sudo letsencrypt renew)时导致错误:

错误:urn:acme:error:rateLimited ::给定类型的请求太多::创建新authz时出错::当前待处理的授权太多.

我的证书已经过期,所以我不能等待7天才能清除.

让我们加密网站表示我可以清除挂起的申请:

如果您有大量待处理的授权对象并且正在获得速率限制错误,则可以通过向其中一个挑战提交JWS签名的POST来触发对这些授权对象的验证尝试,如ACME规范中所述.

我有带URL的日志,但我不明白如何手动发送"JWS签名的POST".

这是从日志中被拒绝的今天的例子:

2017-03-31 06:40:32,180:DEBUG:root:Sending POST request to https://acme-v01.api.letsencrypt.org/acme/new-authz. 
args: (), kwargs: {
    'data': '{
        "header": {
            "alg": "RS256",
            "jwk": {"e": "AQAB", "kty": "RSA", "n": "srgrg....huXi0sQ"}
        }, 
        "protected": "rsgrgs....ZJIn0", 
        "payload": "srgrg....In0", 
        "signature": "sgggserg....Tc-Q"
    }'
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

ssl-certificate lets-encrypt certbot

16
推荐指数
0
解决办法
1663
查看次数

PyCharm无法识别Django项目导入:来自my_app.models导入的东西

我刚刚开始在我现有的Django项目上测试PyCharm,它无法识别我项目中任何来自应用程序的导入:

my_app1/models.py:

from my_app2.models import thing

"未解决的参考'my_app2'"

为什么是这样?我的项目的目录结构与推荐的布局相匹配,并且运行没有错误,只是PyCharm的魔法不想对它起作用.

它似乎与这个问题有关: 在django项目中导入应用程序

但我无法弄清楚我做错了什么.如果我尝试:

from ..my_app2.models import thing

PyCharm错误消失了,它可以自动预测等等.但是当我运行项目时,Django抛出:

ValueError: attempted relative import beyond top-level package

编辑:

项目结构:

my_project/
   src/
      manage.py
      db.sqlite3
      my_app1/
         templates/
         __init.py__
         admin.py
         models.py
         urls.py
         views.py
         ...
      my_app2/
         templates/
         __init.py__
         admin.py
         models.py
         urls.py
         views.py
         ...
      my_project_app/
         settings/
         __init.py__
         urls.py
         ...
Run Code Online (Sandbox Code Playgroud)

python django python-import pycharm

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

Django ImageField小部件,接受上传或外部链接作为源

是否有一个用于ImageFields的Django小部件,它提供上传图像或提供网址的选项?

我想喜欢Summernote没有(如果你单击图像图标)在其实例

我浏览了很多应用程序,他们都专注于上传和缩略图.

编辑

仍在努力尝试做到这一点.我正在寻找像django-summernote允许你添加图像的方式.

还要看一下有关将图像链接保存到ImageField的问题.如何在Summernote等小部件中同时使用它们?

Django从url保存图像并与ImageField连接

python django django-widget imagefield

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

什么时候需要在 django `migrations.RunPython` 方法中使用 `schema_editor.connection.alias` ?

schema_editor.connection.alias什么时候需要在方法中使用它migrations.RunPython,为什么?

在数据迁移中使用 RunPython 时,django 建议您应该使用schema_editor.connection.alias

from django.db import migrations

def forwards_func(apps, schema_editor):
    # We get the model from the versioned app registry;
    # if we directly import it, it'll be the wrong version
    Country = apps.get_model("myapp", "Country")
    db_alias = schema_editor.connection.alias
    Country.objects.using(db_alias).bulk_create([
        Country(name="USA", code="us"),
        Country(name="France", code="fr"),
    ])

class Migration(migrations.Migration):

    dependencies = []

    operations = [
        migrations.RunPython(forwards_func, reverse_func),
    ]
Run Code Online (Sandbox Code Playgroud)

警告

RunPython不会神奇地为您改变模型的连接;您调用的任何模型方法都将转到默认数据库,除非您为它们提供当前数据库别名(可从 获得schema_editor.connection.alias,其中schema_editor是函数的第二个参数)。*

但是描述数据迁移的文档部分根本没有提到alias

from django.db import migrations …
Run Code Online (Sandbox Code Playgroud)

django django-migrations

9
推荐指数
0
解决办法
2378
查看次数

在开发与生产之间分离 Django 安装的应用程序

我有 3 个设置文件:

  • base.py(共享)
  • 开发.py
  • 生产.py

base.py 有:

INSTALLED_APPS = (

    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes'
    ...
Run Code Online (Sandbox Code Playgroud)

但是我有一些只需要在我的开发环境中使用的应用程序,例如,debug-toolbar.

我在 development.py 中试过这个:

INSTALLED_APPS += (
    'debug_toolbar',
)
Run Code Online (Sandbox Code Playgroud)

但得到错误: NameError: name 'INSTALLED_APPS' is not defined

设置文件的连接方式如下:

__init__.py

from .base import *

try:
    from .production import *
except:
    from .development import *
Run Code Online (Sandbox Code Playgroud)

如何区分我的生产/开发环境之间已安装的应用程序?

python django django-apps django-settings

8
推荐指数
2
解决办法
1475
查看次数

使用 Python 在 Visual Studio Code 中显示重写的方法指示器

在 Visual Studio Code 中使用 Python 编程时,有没有办法显示重写方法的指示符?

我正在寻找与 PyCharm 在重写超类方法时显示的左侧空白处的图标类似的内容?

python visual-studio-code

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

BeautifulSoup replaceWith()方法添加转义的html,希望它不转义

我有一个python方法(感谢这个片段),它<a>使用BeautifulSoup和Django的urlize 在一些未格式化的链接上获取一些html和包装标签:

from django.utils.html import urlize
from bs4 import BeautifulSoup

def html_urlize(self, text):
    soup = BeautifulSoup(text, "html.parser")

    print(soup)

    textNodes = soup.findAll(text=True)
    for textNode in textNodes:
        if textNode.parent and getattr(textNode.parent, 'name') == 'a':
            continue  # skip already formatted links
        urlizedText = urlize(textNode)
        textNode.replaceWith(urlizedText)

    print(soup)

    return str(soup)
Run Code Online (Sandbox Code Playgroud)

样本输入文本(由第一个print语句输出)是这样的:

this is a formatted link <a href="http://google.ca">http://google.ca</a>, this one is unformatted and should become formatted: http://google.ca
Run Code Online (Sandbox Code Playgroud)

生成的返回文本(由第二个print语句输出)是这样的:

this is a formatted link <a href="http://google.ca">http://google.ca</a>, this one is unformatted and should …
Run Code Online (Sandbox Code Playgroud)

python django beautifulsoup

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

使用 sed 在字符串变量中转义与号

我正在用SUBJECT数组变量中的值替换文本,如下所示:

#!/bin/bash

# array of subjects, the ampersand causes a problem.
subjects=("Digital Art" "Digital Photography" "3D Modelling & Animation")

echo $subjects[2] # Subject: 3D Modelling & Animation

sed -i -e "s/SUBJECT/${subjects[2]}/g" test.svg
Run Code Online (Sandbox Code Playgroud)

SUBJECT结果文本不是替换文本,而是如下所示:

3D Modelling SUBJECT Animation
Run Code Online (Sandbox Code Playgroud)

如何&在 sed 中包含 & 号作为文字并使其正确回显?

bash sed

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