标签: cookiecutter

Django AWS Elastic Beanstalk WSGIPath 指的是一个不存在的文件

到目前为止,我已经尝试了所有建议的方法,但似乎没有任何效果。我用 Cookiecutter 创建了一个新的 Django 项目。我可以在本地并通过我的 Docker 机器运行它,但由于某种原因我无法将它部署到 AWS。我也一直在松散地关注这个文档:

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-django.html#python-django-configure-for-eb

.ebextensions/django.config

option_settings:
  aws:elasticbeanstalk:container:python:
    WSGIPath: config/wsgi.py
Run Code Online (Sandbox Code Playgroud)

项目结构

~/project
|-- .ebextensions
|-- `-- django.config
|-- .elasticbeanstalk
|-- `--config.yml
|--config
|-- | ...
|-- | wsgi.py
|-- project
|-- manage.py
Run Code Online (Sandbox Code Playgroud)

当我检查日志时,这是我得到的样本:

Target WSGI script not found or unable to stat: /opt/python/current/app/application.py
Run Code Online (Sandbox Code Playgroud)

当我运行 eb config 我得到这些设置:

  aws:elasticbeanstalk:container:python:
    NumProcesses: '1'
    NumThreads: '15'
    StaticFiles: /static/=static/
    WSGIPath: application.py
Run Code Online (Sandbox Code Playgroud)

我试过编辑它,移动 wsgi.py 文件,重命名它,但没有任何效果。我究竟做错了什么?

python django amazon-web-services amazon-elastic-beanstalk cookiecutter

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

如何添加自定义过滤器以在 cookiecutter 模板中使用?

如何添加要在 cookiecutter 使用的 jinja 模板中使用的自定义过滤器?

我尝试使用 pre_gen_project 钩子添加,它被调用,但我找不到一种方法让我的 python 函数在模板中作为 jinja 过滤器(或函数)可见。

python template-engine jinja2 cookiecutter

5
推荐指数
0
解决办法
430
查看次数

我可以根据cookiecutter.json中变量的值使文件成为可选文件吗

我想有一个文件,可以选择在我的python cookiecutter项目中添加。

一个例子是在cookiecutter.json中具有变量

{"settings_file": true}
Run Code Online (Sandbox Code Playgroud)

这将settings.py在目录的根目录下创建一个文件(可能包含一些内容)。

cookiecutter是否提供执行此操作的选项?还是应该使用后期处理挂钩来编写创建文件的脚本(我觉得这不是最优雅的解决方案)。

python cookiecutter

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

如何保护一些文件免受 Jinja 模板处理器的影响?

我正在使用 cookiecutter 创建一个龙卷风项目,使用这个模板(它有几个错误,所以你可能无法开箱即用)。我遇到了一个我不知道如何解决的问题:

jinja2.exceptions.TemplateSyntaxError: unexpected char '\\' at 124272
  File "./{{cookiecutter.project_slug}}/static/swagger/lib/jsoneditor.min.js", line 10
Run Code Online (Sandbox Code Playgroud)

我不知道,但我有一个印象cookiecutter是试图神社过程中jsoneditor.min.js,这是不应该发生的,因为在该文件中的“模板”是不应该被处理cookiecutter,它正好包括相同逃生Jinja正在使用的字符。

是否可以告诉cookiecutter不要处理某个目录中的文件?这可能是正确设置cookiecutter模板的问题,但不确定如何指定。

python cookiecutter

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

Python cookiecutter 循环遍历列表

我正在尝试遍历 Python cookiecutter json 列表中的所有项目,并基于每个项目运行 bash 命令。

设置

我有以下几点cookiecutter.json

{
    "directory_name": "df-sharp",
    "servers": ["db", "web"],
    "myweb_provisioner": "webck"
}
Run Code Online (Sandbox Code Playgroud)

我有{{cookiecutter.myweb_provisioner}}.sh,其中包含此jinja2代码:

{% for server in cookiecutter.servers %}
mkdir -p ~/myproj/host_types/{{ server }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

问题

当我运行时cookiecutter create-server-tree,我得到以下信息:

Select servers:
1 - db
2 - web
Choose from 1, 2 [1]: 2
Run Code Online (Sandbox Code Playgroud)

和内容webck.sh是:

mkdir -p ~/myproj/host_types/w
mkdir -p ~/myproj/host_types/e
mkdir -p ~/myproj/host_types/b
Run Code Online (Sandbox Code Playgroud)

Select不应该出现的菜单。我不想在列表中的 2 个元素之间进行选择。我想遍历它们并构造 2 个 bash 命令 - …

bash jinja2 python-2.7 cookiecutter

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

定位 Cookiecutter 扩展

我正在创建我的第一个cookiecutter。总的来说,这进展顺利,但我现在想添加我自己的 jinja2 过滤器。

根据本期的评论,我创建了一个新的 Jinja2 扩展,很像这里的扩展。此扩展的完整代码在这里:

https://github.com/seclinch/sigchiproceedings-cookiecutter/commit/5a314fa7207fa8ab7b4024564cec8bb1e1629cad#diff-f4acf470acf9ef37395ef389c12f8613

但是,以下简单示例演示了相同的错误:

# -*- coding: utf-8 -*-
from jinja2.ext import Extension


def slug(value):
    return value


class PaperTitleExtension(Extension):
    def __init__(self, environment):
        super(PaperTitleExtension, self).__init__(environment)
        environment.filters['slug'] = slug
Run Code Online (Sandbox Code Playgroud)

我已将此代码放入一个新jinja2_extensions目录并添加了一个简单__init__.py的如下:

# -*- coding: utf-8 -*-
from paper_title import PaperTitleExtension

__all__ = ['PaperTitleExtension']
Run Code Online (Sandbox Code Playgroud)

基于这篇文档,我还在“cookiecutter.json”文件中添加了以下内容:

"_extensions": ["jinja2_extensions.PaperTitleExtension"]
Run Code Online (Sandbox Code Playgroud)

但是,运行它会产生以下错误:

$ cookiecutter sigchiproceedings-cookiecutter
Unable to load extension: No module named 'jinja2_extensions'
Run Code Online (Sandbox Code Playgroud)

我猜我在这里遗漏了一些步骤,有人可以帮忙吗?

python jinja2 cookiecutter

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

饼干切割机的自动化测试

cookiecutter是模板生成器,在生成多种语言的项目时非常有用。但是,我想知道是否有办法持续测试它们?我不仅要生成最终产品(在给定一组输入的情况下,对目标文件的存在、名称和内容做出断言),而且还要生成在某些输入下运行时不会出错,但会拒绝其他输入。最好的方法是什么?我知道我可以编写一个简单的测试用例,但它无法访问命令行输入,是吗?有什么方法可以访问该函数并将命令行选项作为参数提供给它吗?

python python-2.7 python-3.x cookiecutter

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

如何在 cookiecutter 模板上运行黑色格式?

我正在使用预提交blackflake8钩子。

error: cannot format在尝试对以下代码进行黑色格式化时得到了这个

from {{cookiecutter.project_name}} import my_module
Run Code Online (Sandbox Code Playgroud)

无论如何,是否有指示黑色,跳过/忽略特定于 cookiecutter 的语法?

python pre-commit cookiecutter python-black

5
推荐指数
0
解决办法
804
查看次数

如何告诉cookiecutter下载cookiecutter-django的稳定版本?

命令:

cookiecutter https://github.com/pydanny/cookiecutter-django/
Run Code Online (Sandbox Code Playgroud)

将克隆最新版本cookiecutter-django,针对Django 1.9.

指向某些标签时有一个稳定部分README.其中一个是https://github.com/pydanny/cookiecutter-django/releases/tag/1.8.7.

但如果我尝试:

cookiecutter https://github.com/pydanny/cookiecutter-django/releases/tag/1.8.7
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

subprocess.CalledProcessError: Command '[u'git', u'clone', u'https://github.com/pydanny/cookiecutter-django/releases/tag/1.8.7']' returned non-zero exit status 128
Run Code Online (Sandbox Code Playgroud)

那么,如何指定cookiecutter使用那些稳定发布而不是master分支?

python django cookiecutter cookiecutter-django

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

Bad Request(400)使用Django,Heroku和Name.com

我刚刚用Heroku部署了我的Django网站,它在example.herokuapp.com上工作就好了.

我遇到的问题是当我去example.com时,我得到Bad Request(400).我查看了有关400个错误的Django文档,我似乎无法弄清楚什么是错误的.

我正在使用Django 1.9.5并使用cookiecutter-django启动该项目.Name.com是我的域名注册商.

我的设置的production.py:

ALLOWED_HOSTS = env.list('DJANGO_ALLOWED_HOSTS', default=['example.com'])
Run Code Online (Sandbox Code Playgroud)

我不是100%确定我的ALLOWED_HOSTS的DJANGO_ALLOWED_HOSTS部分是如何工作的,但是当我去我的Heroku仪表板并查看设置中的配置变量时,我看到DJANGO_ALLOWED_HOSTS是.herokuapp.com

Heroku自定义域名:

Domain Name            DNS Target
*.example.com          example.herokuapp.com
example.com            example.herokuapp.com
www.example.com        example.herokuapp.com
Run Code Online (Sandbox Code Playgroud)

Name.com DNS记录:

Type   Host             Answer                 TTL  Prio
CNAME  www.example.com  example.herokuapp.com  300  N/A
CNAME  example.com      example.herokuapp.com  300  N/A
CNAME  *.example.com    example.herokuapp.com  300  N/A
Run Code Online (Sandbox Code Playgroud)

在控制台中,我输入我得到的主机命令:

$ host www.example.com
www.example.com is an alias for example.herokuapp.com

$ host example.com
example is an alias for example.herokuapp.com
Run Code Online (Sandbox Code Playgroud)

我可以找到大多数答案/论坛指向这3个地方,以找到错误,ALLOWED_HOSTS,Heroku自定义域和DNS记录.但我无法发现错误.

我发现的一条建议是要检查网站的其他区域.无论我走到哪里都会得到同样的错误,例如example.com/about/

我需要在name.com上设置其他内容吗?

python django dns heroku cookiecutter

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