小编hwj*_*wjp的帖子

樱桃选择忽略空格/行结尾

有没有办法告诉git cherry-pick使用renormalize合并策略?我不确定该-X选项是否有效.

我有一堆提交似乎假设一种类型的行结束,我正在尝试将它们应用于假设另一种类型的分支.没有好时光......

linux git line-endings

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

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

Nginx:在指定访问日志位置时我可以使用$ server_name吗?

我想为nginx虚拟主机编写一个配置文件,如下所示:

server {
    listen 80;
    server_name www.my-domain-name.com;

    access_log /home/me/sites/$server_name/logs/access.log;
    error_log  /home/me/sites/$server_name/logs/error.log;

    location /static {
        alias /home/me/sites/$server_name/static;
    }

    location / {
        proxy_pass http://localhost:8000;
    }
}
Run Code Online (Sandbox Code Playgroud)

使用$server_name似乎工作找到了location /static,但它似乎并没有工作access_logerror_log- 我做错了什么?或者这是不可能的?我可以用其他方式吗?

[更新] - 这是尝试重新加载nginx时的错误消息:

nginx: [emerg] open() "/home/me/sites/$server_name/logs/error.log" failed (2: No such file or directory)

configuration webserver nginx access-log

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

在PythonAnywhere上使用Web.py的Web窗体

我正在尝试使用PythonAnywhere.com的web.py平台制作一个简单的Web脚本.我的目的是创建一个simples Form,它可以获取文本框的数据,并且可以像使用PHP一样使用它们.这是我的主要脚本:

import web
from web import form
import MySQLdb

render = web.template.render('/home/user/templates/')

conn = MySQLdb.connect("mysql.server","user","*********","userdb")
curs = conn.cursor()

curs.execute('''create table if not exists Dados (
id int not null auto_increment primary key,
nome varchar(200),
item1 varchar(50),
item2 varchar(50),
item3 varchar(50),
item4 varchar(50),
item5 varchar(50));
''')

urls = (
  '/', 'index'
)

formula = form.Form(
    form.Textbox('Nome', id='nome'),
    form.Textbox('Item 1', id='it1'),
    form.Textbox('Item 2', id='it2'),
    form.Textbox('Item 3', id='it3'),
    form.Textbox('Item 4', id='it4'),
    form.Textbox('Item 5', id='it5'),
    )


class index:
    def GET(self):
        form = formula() …
Run Code Online (Sandbox Code Playgroud)

python forms post web.py pythonanywhere

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

pythonanywhere:用户'USERNAME'@'%'访问被拒绝到数据库

我正在使用www.pythonanywhere.com来部署我的Django项目.pythonanywhere的数据库设置如下:

Connecting: 
    Database host address: mysql.server
    Username: Username (just as an example)

Your databases:
    Start a console on: Username$DBName  (just as an example)
    ...
Run Code Online (Sandbox Code Playgroud)

使用"manage.py migrate"命令设置数据库时,出现错误消息:

django.db.utils.OperationalError: (1044 "Access denied for user 'Username'@'%' to database 'DBName'")
Run Code Online (Sandbox Code Playgroud)

文件settings.py中的DATABASES设置如下.

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'DBName',
        'USER': 'Username',
        'PASSWORD': 'password',
        'HOST': 'mysql.server',
        'PORT': '3306',
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以使用以下命令在控制台中运行mysql:

$ mysql -u Username -h mysql.server -p
Run Code Online (Sandbox Code Playgroud)

当我输入以下命令时:

mysql> use mysql;
Run Code Online (Sandbox Code Playgroud)

我收到了错误消息:

ERROR 1044 (42000): Access denied for user …
Run Code Online (Sandbox Code Playgroud)

django pythonanywhere

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

更改Date对象Python的时区

您好我正在使用Pythonanywhere和我打电话

from datetime import *

print date.today().day
Run Code Online (Sandbox Code Playgroud)

它打印的时间与我住的那天不同(德克萨斯州奥斯汀).我认为这是因为存在时区差异.我如何告诉我居住的日期对象,以便获得正确的时区.提前致谢

python python-2.7 pythonanywhere

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

从python使用XML的POST烧瓶服务器

我有一个烧瓶服务器并在pythonanywhere上运行,我正在尝试编写一个python脚本,我可以在本地运行,这将触发一个特定的响应 - 让我们说服务器时间,为了讨论的缘故.有关如何编写此过程的Flask服务器端的文档和吨文档,但非如此/很少有关于如何编写可触发Flask应用程序运行的内容的文档.我试过以简单的curl命令的形式发送XML,例如

curl -X POST -d '<From>Jack</From><Body>Hello, it worked!</Body>' URL
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用(有关推荐标题的错误).

有人能告诉我构建一些可以发送到监听烧瓶服务器的XML的正确方法.

谢谢,

插口

python xml curl web-services flask

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

如何在py.test终结器中打印东西

我正在测试一个写入日志文件的函数(具体是它写入日志文件并不重要,它可能正在做任何事情,它只是引起这个问题的原因)

像这样的东西:

def do_stuff():
    with open('/tmp/mylogs.txt', 'a') as f:
        f.write(str(time.time()))
        f.write(' stuff done! \n')
    return 42
Run Code Online (Sandbox Code Playgroud)

我可以测试它有点像这样:

def test_doing_stuff(watch_logs):
    assert do_stuff() == 42
    assert do_stuff() == 43
Run Code Online (Sandbox Code Playgroud)

出于调试目的,当测试失败时,我希望能够打印出新的日志记录 - 我可以使夹具有点像这样:

@pytest.fixture()
def watch_logs(request):
    with open('/tmp/mylogs.txt') as f:
        log_before = f.read()

    def get_new_logs():
        with open('/tmp/mylogs.txt') as f:
            log_after = f.read()
            return log_after.replace(log_before, '')

    return get_new_logs
Run Code Online (Sandbox Code Playgroud)

太棒了 - 现在我可以在测试中的任何一点检查日志内容:

def test_doing_stuff(watch_logs):
    assert do_stuff() == 42
    print(watch_logs())
    assert do_stuff() == 43
    print(watch_logs())
Run Code Online (Sandbox Code Playgroud)

嗯 - 啊,但第二次打印不起作用,它是在测试失败后.

如果我的测试夹具总是在测试结束时打印出日志怎么办?然后pytest的stdout捕获会在它失败时显示给我,但不会在它通过时显示给我!

@pytest.fixture()
def watch_logs(request):
    with open('/tmp/mylogs.txt') as f: …
Run Code Online (Sandbox Code Playgroud)

python unit-testing pytest

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

Flask,并非所有参数都在字符串格式化期间转换

尝试为我的应用创建一个注册页面。我正在使用来自pythonanywhere.com 的Flask 框架和 MySQL 数据库。

@app.route('/register/', methods=["GET","POST"]) 
def register_page():
try:
    form = RegistrationForm(request.form)



    if request.method == "POST" and form.validate():
        email = form.email.data
        password = sha256_crypt.encrypt((str(form.password.data)))
        c, conn = connection()

        x = c.execute("SELECT * FROM users WHERE email = (%s)",
                      (email))

        if int(x) > 0:
            flash("That email adress is already in use.")
            return render_template('register.html', form=form)

        else:
            c.execute("INSERT INTO users (email, password) VALUES (%s, %s)",
                      (thwart(email),thwart(password)))

            conn.commit()
            flash("Thanks for registering!")
            c.close()
            conn.close()
            gc.collect()

            session['logged_in'] = True
            session['email'] = email

            return …
Run Code Online (Sandbox Code Playgroud)

python mysql flask pythonanywhere

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

为什么“pip install lxml”不使用提供的轮子,而是尝试编译?

一个轮子是通过PIP安装分发预编译包的新途径。

pypi上的lxml 条目具有可用于“manylinux”的轮子。我正在运行 ubuntu。

但是,当我尝试 pip install lxml 时,它似乎仍然尝试编译。任何想法为什么?

mktmpenv
pip install lxml==3.6.4

Collecting lxml==3.6.4
  Using cached lxml-3.6.4.tar.gz
Building wheels for collected packages: lxml
  Running setup.py bdist_wheel for lxml

  Complete output from command /home/harry/.virtualenvs/tmp-940224e01c89b3f0/bin/python3 -c "import setuptools;__file__='/tmp/pip-build-gxw05tyo/lxml/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d /tmp/tmp78u4a871pip-wheel-:
  Building lxml version ....
  Building lxml version 3.6.4.
  Building without Cython.
  Using build configuration of libxslt 1.1.29
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.5
[...etc]
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

python ubuntu lxml pip python-wheel

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