小编Dav*_* D.的帖子

如何从环境变量中删除自动转义?

在 settings.py 中,我从环境中获取 var,如下所示:

ROBOTS_STR = os.environ.get('DJANGO_ROBOTS_STR')
Run Code Online (Sandbox Code Playgroud)

我的环境变量设置在一个文件中,如下所示:

DJANGO_ROBOTS_STR=User-agent: *\nDisallow: /admin\nDisallow: /api
Run Code Online (Sandbox Code Playgroud)

问题是,在视图中,当我获取 settings.ROBOTS_STR 时,字符串的值已自动转义。这是:User-agent: *\\nDisallow: /admin\\nDisallow: /api

我怎样才能改变这种行为?请注意,我使用的是 Python 3.3

python-3.3

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

如何使用Heroku配置Django数据库?

我正在使用Heroku和Django.

使用dj-database-url模块以这种方式在settings.py中配置数据库:

DATABASES = {'default': dj_database_url.config()}

如何添加其他参数,例如ATOMIC_REQUESTS?在"正常"的情况下,我会这样做:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'mydatabase',
        'USER': 'mydatabaseuser',
        'PASSWORD': 'mypassword',
        'HOST': '127.0.0.1',
        'PORT': '5432',
        'ATOMIC_REQUESTS': True,
    }
}
Run Code Online (Sandbox Code Playgroud)

python django heroku

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

如何提取字符串中间的邮政编码?

这是一个地址:

address = "35 rue de trucmuche, 75009 PARIS"
Run Code Online (Sandbox Code Playgroud)

我想75009使用正则表达式提取地址中的邮政编码 ( )。

我试过这个:

reg = re.compile('^.*(P<zipcode>\d{5}).*$')
match = reg.match(address)
match.groupdict().zipcode # should be 75009
Run Code Online (Sandbox Code Playgroud)

我得到一个:

AttributeError: 'NoneType' object has no attribute 'groupdict'

我认为我的正则表达式是错误的。我不明白为什么。

python regex

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

Django:如何在包含模板标签中正确传递URL?

在两个不同的模板中,我有两个几乎相同的块,只是 url 不同:

模板1.html

<div class="col-sm-4">
    <a href="{% url 'bo:article-list' %}" class="btn btn-block btn-secondary btn-sm"
       role="button">
        <i class="fa fa-chevron-left"></i> Annuler
    </a>
</div>
Run Code Online (Sandbox Code Playgroud)

模板2.html

<div class="col-sm-4">
    <a href="{{ article.get_absolute_url }}" class="btn btn-block btn-secondary btn-sm"
       role="button">
        <i class="fa fa-chevron-left"></i> Annuler
    </a>
</div>
Run Code Online (Sandbox Code Playgroud)

我想让这个变得干燥,创建一个模板,然后进行包含。例如:

_cancel.html

<div class="col-sm-4">
<a href="{{ cancel_url }}" class="btn btn-block btn-secondary btn-sm"
   role="button">
    <i class="fa fa-chevron-left"></i> Annuler
</a>
Run Code Online (Sandbox Code Playgroud)

对于template2.html,它将与:

{% include 'includes/_cancel.html' with cancel_url=article.get_absolute_url %}
Run Code Online (Sandbox Code Playgroud)

但是template1.html呢?这显然不起作用:

{% include 'includes/_cancel.html' with cancel_url={% url 'bo:article-list' %} 
Run Code Online (Sandbox Code Playgroud)

我想有一个技巧。感谢您的帮助 :)

python django django-templates

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

如果 celery 代理未运行,Django 测试会随机冻结

问题

当在本地运行单元测试时,在某个时间点,它完全冻结,我不明白出了什么问题。即使我使用最大详细选项运行测试,我也不知道-v3

我认为这不可能与测试本身有关,因为它们曾经通过,或者在 CI 中仍然通过。另外,它并不总是在同一阶段冻结。

在此输入图像描述

我用什么

  • Mac 版 Docker 2.2.0.3
  • 在 MacOS 10.15.3 上
  • 带有 PostgreSQL 官方镜像 (10.12)
  • 心理咨询2.7.7

我尝试过的

  • 我尝试使用 Docker 在另一台计算机上运行测试
  • 我试图评论冻结的测试,但随后它会在其他地方冻结
  • 我尝试在本地更改 PostgreSQL 版本
  • --reverse我尝试使用其他选项(例如或)运行测试--parallel

任何想法?如何调试这个?

python django postgresql unit-testing docker

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

在 OSX 中使用 Sed 重命名文件

我正在尝试做一些简单的事情,例如使用 sed 重命名文件夹的所有文件。目的是在文件夹的每个文件前面添加一个模式。

在使用“mv”命令实际重命名文件之前,我使用“echo”命令来确保文件名正确。

我在 MAC OSX 上(使用 Iterm2)。我找到了不同的解决方案,但它根本不起作用。这是我所做的:

for f in *.mkv
do
    test1=`echo $f | sed -E 's/^(.*)$/^S01E(.*)$/g'`

    test2=$(echo $f | sed 's#^(.*)$#^S01E(.*)$#')

    echo "$f"
    echo "$test1"
    echo "$test2"
done

$test1 output: ^S01E(.*)$

$test2 output : the filename itselft
Run Code Online (Sandbox Code Playgroud)

macos bash sed

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

jQuery绑定许多事件的动作

非常简单的问题,但我找不到我应该在两个不同事件上执行函数的方式:加载页面时和复选框更改时.

现在,这就是我所拥有的.它可以工作,但它是supid因为不干:

<script>

$(document).ready(function(){

    if ($("#visit_mode").prop('checked')){
      $("#cart_div").hide();
      $("#visit_div").show();
    }
    if ($("#cart_mode").prop('checked')){
      $("#visit_div").hide();
      $("#cart_div").show();
    }

  });

$(".checkbox").change(function() {

  if ($("#visit_mode").prop('checked')){
    $("#cart_div").hide();
    $("#visit_div").show();
  }
  if ($("#cart_mode").prop('checked')){
    $("#visit_div").hide();
    $("#cart_div").show();
  }

});

</script>
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

模型字段上的随机生成无限迁移

这是models.py中的一个类:

class Shop(models.Model):
    ...
    code = models.CharField(max_length=4, default=generate_random_code())
Run Code Online (Sandbox Code Playgroud)

可以想象,generate_random_code()总是返回一个不同的字符串.

问题是,Django迁移引擎丢失了,因为每次我做一个python manage.py makemigrations,我得到一个新的修改Alter field tablet_code on shop.我想这是因为函数被执行了,但它不应该,所以Django认为我修改了代码.

你怎么解决这个问题?谢谢.

python django django-migrations

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

不同参数数量的 Python 模拟补丁语法问题

## tests file
@mock.patch('profiles.models.create_stripe_charge', StripeMocks._mock_raises_stripe_error)
def my_test(self):
    #  ... stuff


## logic file
def create_stripe_charge(customer, amount_in_cents, capture=True):
    # ... stuff

## mocks file
class StripeMocks:
    def _mock_raises_stripe_error(self):
        raise stripe.error.StripeError
Run Code Online (Sandbox Code Playgroud)

运行测试时,我遇到了_mock_raises_stripe_error() takes 1 positional argument but 3 were given'错误。

我知道我正在尝试用 1-args 方法模拟 3-args 方法,但是如果我只想告诉 Python:拜托,无论我的create_stripe_charge方法有多少个参数,我只想模拟它引发的情况一个例外。

执行此操作的正确语法是什么?谢谢。

python django unit-testing mocking

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

Django:如何覆盖authenticate()方法?

我使用自定义User,我有一个email_verified该用户的字段.我希望当用户登录时,如果此字段是,则拒绝false.

我无法做到这一点,views.py因为用户可以从各种来源(Django站点,但REST API)登录.整个目的是避免为N个登录源写入N次逻辑.我想重写的方法(login()authenticate()在models.py?)做一次.

我很快阅读了有关自定义身份验证的文档,但没有找到我正在寻找的内容.

感谢帮助.

python django django-authentication

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