小编Yun*_*nti的帖子

jinja 2 嵌套字典到 yaml

我正在尝试使用 jinja2 将嵌套字典输出到 yaml 文件。但是我不确定如何访问嵌套的字典。有了数据的平面字典,我可以使用以下内容。

 - request:
        path: {{ path }}
        headers:
          origin: 'somedomain.com'
          user-agent: 'agent'
          referer: 'some.domain.com'
          authority: 'somedomain.com'
        data:
          {% for key, value in data.items() -%}
          {{ key }}: '{{ value }}'
          {%- endfor %}
      response:
        content:
          file: {{ content }}
Run Code Online (Sandbox Code Playgroud)

但是,对于像下面这样的嵌套字典,我如何在底部实现输出?

{'toplevelkey1': {'nestedkey1': 'value1', 'nestedkey2': 123, 'nestedkey3': '55',
                 'nestedkey4': 1560}, 'toplevelkey34': 'df',
 'toplevelkey2': {'somekey12': 68, 'somekey58': False, 'somekey48': 3, 'somekey38': 'ADF',
                              'somekey39': 'St'}, 'toplevel34': 'T',
 'toplevel8': {'key33': 68, 'key94': 3, 'key83': 'T', 'key84': 'dog'}}
Run Code Online (Sandbox Code Playgroud)

所需的输出

   - request: …
Run Code Online (Sandbox Code Playgroud)

python jinja2

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

Django表单自定义模型表单字段标签

我正在尝试为django模型表单自定义标签:

class SupplyTypeForm(forms.ModelForm):
    class Meta:
        model = EUser
        fields = ('service_type', 'online_account')
        labels = {
            'online_account': _('Do you have an online account with any of your suppliers'),
        }
Run Code Online (Sandbox Code Playgroud)

但我得到错误:NameError:名称'_'未定义

然而django文档提到这样做,所以我不清楚什么是错的(下划线很奇怪,我不确定为什么在这里使用它).如果我删除它工作,错误消失

文档拥有它的任何理由:https://docs.djangoproject.com/en/1.9/topics/forms/modelforms/#overriding-the-default-fields

python django django-forms

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

gulp命令行工具无法正常工作

我最近设置了gulp但是虽然它似乎(部分)在我的IDE中工作但它似乎不能在命令行中工作.

我的package.json文件是:

{
  "name": "project",
  "version": "0.1.0",
  "dependencies": {},
  "devDependencies": {
    "browser-sync": "^2.14.0",
    "del": "^2.2.2",
    "gulp": "^3.9.1",
    "gulp-autoprefixer": "^3.1.1",
    "gulp-concat": "^2.6.0",
    "gulp-cssnano": "^2.1.2",
    "gulp-imagemin": "^3.0.3",
    "gulp-less": "^3.1.0",
    "gulp-pixrem": "^1.0.0",
    "gulp-plumber": "^1.1.0",
    "gulp-rename": "^1.2.2",
    "gulp-uglify": "^2.0.0",
    "gulp-util": "^3.0.7",
    "run-sequence": "^1.2.2"
  },
  "engines": {
    "node": ">=0.8.0"
  }
}
Run Code Online (Sandbox Code Playgroud)

这些已安装npm install (但请注意我没有全局安装gulp(npm通过OSX上的brew安装))

运行which gulp但是我得到咕嘟咕嘟没有发现?

npm gulp

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

django设置多个允许的主机

我正在尝试在Django中设置多个允许的主机

我在生产设置production.py中将设置配置为

ALLOWED_HOSTS = env('DJANGO_ALLOWED_HOSTS') 
Run Code Online (Sandbox Code Playgroud)

然后我可以在heroku上设置:

heroku config:set 'DJANGO_ALLOWED_HOSTS' = 'www.example.com'
Run Code Online (Sandbox Code Playgroud)

但是,如何通过此方法添加多个主机?

django heroku

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

django表单 - 从clean()中提出特定的字段验证错误

我对表单进行了验证检查,该表单依赖于多个字段,但最好让验证错误向用户显示哪些字段导致问题,而不仅仅是表单顶部的错误消息.(表单有很多字段,因此更清楚地显示错误的位置).

作为一种解决方法,我尝试在每个相关字段clean_field()方法中创建相同的验证,以便用户在这些字段旁边看到错误.但是,我似乎只能访问该特定字段self.cleaned_data而不是其他任何字段?

或者可以从表单clean()方法引发字段错误?

尝试1:

   def clean_supply_months(self):
        if not self.cleaned_data.get('same_address') and not self.cleaned_data.get('supply_months'):
            raise forms.ValidationError('Please specify time at address if less than 3 years.')

    def clean_supply_years(self):
        if not self.cleaned_data.get('same_address') and not self.cleaned_data.get('supply_years'):
            raise forms.ValidationError('Please specify time at address if less than 3 years.')

    def clean_same_address(self):
          .....
Run Code Online (Sandbox Code Playgroud)

django django-forms

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

django 模型在选择字段上形成初始值

我正在尝试在 django 上的选择字段上设置初始值,但它似乎不起作用,我不确定我可以为选择字段设置初始值的内容(即它应该是 const 值,元组值。 .?)

模型:

class User(models.Model):
    DUAL_SUPPLIER = 'D'
    SEPERATE_SUPPLIERS = 'G'
    SINGLE_SUPPLIER = 'F'
    SERVICE_TYPE_CHOICES = ((DUAL_SUPPLIER, 'I have one supplier'),
                            (SEPERATE_SUPPLIERS, 'I have separate Suppliers'),
                            (SINGLE_SUPPLIER, 'I have a single supplier only'))
    service_type = models.CharField(max_length=10, choices=SERVICE_TYPE_CHOICES)
    online_account = models.BooleanField()
Run Code Online (Sandbox Code Playgroud)

形式:

class SupplyTypeForm(forms.ModelForm):
    class Meta:
        model = User
        fields = ('service_type', 'online_account')
        labels = {
            'service_type': 'What type of supplier do you have?',
            'online_account': 'Do you have an online account with any of your  suppliers',
        } …
Run Code Online (Sandbox Code Playgroud)

python django django-forms

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

django admin内联重新排序只读字段

我在 django 管理中使用表格内联,并指定了两个只读字段。然而django现在已经将它们移动到内联的最末尾(最右边)有大量字段,我如何将这2个字段移回其原始位置(pk后的第二个,第三个)而无需指定每个字段的顺序与fields=?

django-admin

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

heroku 应用程序域有效,但自定义域出现 400 错误

我最近向 heroku 部署了一个(django)应用程序,虽然该应用程序在默认的 heroku 应用程序域上运行良好,但appname.herokuapp.com它在自定义 url 上不起作用,www.appname.com而是给出了 400 bad request 错误。

域 dns 已在 namecheap.com 上配置,但域通过以下方式添加到 heroku:

$ heroku domains:add appname.com,
$ heroku domains:add www.appname.com
Run Code Online (Sandbox Code Playgroud)

诊断错误的最佳方法是什么,因为目前 heroku 上的应用程序似乎没有产生任何错误(即在 opbeat 中没有显示可以很好地捕获早期错误 - 除了自定义域路由之外,一切正常)。

django dns heroku

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

将 Heroku Postgres 从标准降级为业余爱好

在此输入图像描述我正在尝试将 heroku postgres 数据库从标准降级为业余爱好基本。由于我目前没有完全使用网络应用程序,但其中仍然有一些数据需要保留。我怎样才能降级?(一些停机时间没问题)。

更新:设法根据以下说明设置和升级新数据库,但我无法取消配置旧数据库。 heroku info显示:

heroku

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

Django Many2many 字段属性错误

尝试将数据添加到 django 模型中的 many2many 字段时,出现意外错误。我不知道为什么我没有得到相关数据(payment_method)

对于以下型号

class PaymentMethod(models.Model):
    MONTHLY_DIRECT_DEBIT = 'MDD'
    CASH_OR_CHEQUE = 'CAC'
    QUARTERLY_DIRECT_DEBIT = 'QDD'
    PAYMENT_CHOICES = (
        (MONTHLY_DIRECT_DEBIT, 'Monthly Direct Debit'),
        (CASH_OR_CHEQUE, 'Cash or Cheque'),
        (QUARTERLY_DIRECT_DEBIT, 'Quarterly Direct Debit'),
    )
    unique_id = models.CharField(max_length=3, choices=PAYMENT_CHOICES)
    name = models.CharField(max_length=255, unique=True)

class Tariff(models.Model):
    name = models.CharField(max_length=255)
    supplier = models.ForeignKey(Supplier)
    payment_method = models.ManyToManyField(PaymentMethod)
    region = models.ManyToManyField(Region)

        class Meta:
    unique_together = ('name', 'supplier')

class Supplier(models.Model):
unique_id = models.IntegerField(unique=True)
name = models.CharField(max_length=255, unique=True)
Run Code Online (Sandbox Code Playgroud)

我正在尝试通过以下方式将付款方式数据添加到关税中:

supplier = Supplier.objects.get(unique_id=region.default_supplier.unique_id)
payment_method_instance = PaymentMethod.objects.get(unique_id=payment_method['id'])
tariff, created = …
Run Code Online (Sandbox Code Playgroud)

python django

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

bootstrap(4)如何修改自定义选择箭头以更改颜色

我正在尝试修改Boostraps custom-selectcss类中使用的箭头.目前它是黑色的,并且更愿意将其更改为灰色,是否有一种简单的方法可以做到这一点? https://getbootstrap.com/docs/4.0/components/forms/#select-menu

twitter-bootstrap bootstrap-4

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