小编sha*_*ter的帖子

如何将参数传递给Flask的重定向(url_for())?

我试图了解如何最好地使用Flask重定向和传递参数

下面是我的代码,我发现x并且y没有将其纳入模板.

我的语法是否正确?我错过了什么基本的东西?我能够渲染模板,但我想重定向到网址/found,而不是只返回模板find.html

@app.route('/found')
def found(email,listOfObjects):
  return render_template("found.html",
      keys=email,obj=listOfObjects)

@app.route('/find', methods=['GET','POST'])
def find():
    if request.method == 'POST':
        x = 3
        y = 4
        return redirect(url_for('found',keys=x,obj=y))

    return render_template("find.html")
Run Code Online (Sandbox Code Playgroud)

flask python-2.7

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

为Python 2.7设置EC2,一步一步

我一直在寻找有关如何在EC2实例上设置以下内容的逐步说明.对于一个新用户,我希望事情干净整洁,但所有的"指南"都有不同的信息,真的让人感到困惑.

我的第一个想法是我需要做以下事情

  • 升级到最新版本的Python2.7(发现下载很简单,但在linux上安装并不清楚)
  • 添加点子
  • 添加Easy_Install
  • 添加Virtualenv
  • 将默认Python更改为2.7而不是2.x.
  • 在virtualenv中安装其他软件包(mechanize,beautifulsoup等)

不明确的事情:

  • 我需要百胜吗?那是默认的吗?
  • 我需要更新.bashrc吗?
  • 安装其他python包的"首选"方法是什么?我怎样才能确保我做得对?是sudo pip package_name够了吗?
  • 我错过了什么?
  • 我什么时候使用sudo而不是?
  • 我是否需要添加site-packages目录,或者默认情况下是否已完成?为什么/为什么不呢?

python pip amazon-ec2 virtualenv

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

弹性beanstalk上的psycopg2 - 无法部署应用程序

我正在将我的第一个应用程序(Flask)部署到EB,并且遇到了麻烦.使用PostgreSQL需要我安装psycopg2,但我无法弄清楚如何让它运行.

我在这篇文章(Amazon Elastic Beanstalk上的Psycopg2)以及我需要的这篇文章(https://realpython.com/blog/python/deploying-a-django-app-to-aws-elastic-beanstalk/)中看到了.elasticbeanstalk/01_packages.config使用以下代码添加文件名:

packages:
  yum:
    postgresql-devel: []
Run Code Online (Sandbox Code Playgroud)

我尝试了不同的变化,postgresql93-devel: []但仍然没有运气.下面附有我的错误日志.

[2015-11-16T21:03:24.749Z] INFO  [2680]  - [Application update/AppDeployStage0/AppDeployPreHook/03deploy.py] : Starting activity...
[2015-11-16T21:03:27.024Z] INFO  [2680]  - [Application update/AppDeployStage0/AppDeployPreHook/03deploy.py] : Activity execution failed, because: Collecting psycopg2==2.6.1 (from -r /opt/python/ondeck/app/requirements.txt (line 1))
    Using cached psycopg2-2.6.1.tar.gz
      Complete output from command python setup.py egg_info:
      running egg_info
      creating pip-egg-info/psycopg2.egg-info
      writing top-level names to pip-egg-info/psycopg2.egg-info/top_level.txt
      writing dependency_links to pip-egg-info/psycopg2.egg-info/dependency_links.txt
      writing pip-egg-info/psycopg2.egg-info/PKG-INFO
      writing manifest file 'pip-egg-info/psycopg2.egg-info/SOURCES.txt'
      warning: manifest_maker: standard file '-c' not …
Run Code Online (Sandbox Code Playgroud)

python postgresql amazon-ec2 flask amazon-elastic-beanstalk

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

Selenium - XPATH - 通过innerHTML搜索元素

我正在学习Selenium并且对XPATH有很好的把握.

我遇到的问题是,在网页上,还有我要选择具有动态生成的元素idclass.我曾尝试过以下方法:

code = driver.find_element_by_xpath("//*[contains(@text='someUniqueString')]")
Run Code Online (Sandbox Code Playgroud)

但是,元素没有任何文本.相反,它是一个<code>带有JSON 的元素.

<codestyle="display: none" id="something-crazy-dynamic"> 
    {"dataIWantToGrab":{"someUniqueString":...}}
</code>
Run Code Online (Sandbox Code Playgroud)

我想要做的是搜索innerHTML使用XPATH找到一个唯一的字符串,但我找不到任何好的资源.

我试过了

driver.find_element_by_xpath("//*[contains(@innerHTML='someUniqueString')]")
Run Code Online (Sandbox Code Playgroud)

但是我收到了错误

selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: //*[contains(@innerHTML='someUniqueString')]
Run Code Online (Sandbox Code Playgroud)

编辑:下面是我正在使用的兄弟文本的链接

https://gist.github.com/anonymous/b227e59c942e7ec9f5a851a3b7ecdfc6

编辑2:我能够解决这个问题,不是使用Selenium而是使用BeautifulSoup.不理想,但仍然是一个解决方案.

soup = BeautifulSoup(driver.page_source)
codes = soup.find_all("code")
found_json = [i for i in codes if i.text.find("someUniqueString") > 0]
Run Code Online (Sandbox Code Playgroud)

html selenium xpath beautifulsoup python-2.7

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

Crontab | 缺少Python模块

我是Unix和crontab的新手.我遇到的唯一主要问题是将终端指向我正在尝试运行的特定程序的python模块.从命令行,程序运行正常,但不会从crontab.

第一个cronjob给我发了一封电子邮件说cronjob正在运行.第二个(createUpdate)运行我已经构建的脚本,设置为每分钟运行一次.

crontab -l返回:

*/1 * * * * python /Users/JohnDoe/Desktop/emailalert.py
*/1 * * * * PYTHONPATH =/Library/Frameworks/Python.framework/Versions/Current/lib/python2.7/site-packages; export PYTHONPATH; python /Users/JohnDoe/Desktop/createUpdate.py 
Run Code Online (Sandbox Code Playgroud)

我正确构建了PYTHONPATH吗?

我应该在cron之前解决它吗?

'出口PYTHONPATH'是必要的吗?

编辑 我忘了添加错误

/bin/sh: PYTHONPATH: command not found
Traceback (most recent call last):
  File "/Users/JohnDoe/Desktop/createUpdate.py", line 1, in <module>
    import beatbox
ImportError: No module named beatbox
Run Code Online (Sandbox Code Playgroud)

python crontab

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

Python和请求| ImportError:没有名为util的模块

我刚刚在新计算机上安装了包请求.我尝试导入该模块时收到此错误.是什么导致问题与util模块的问题?

Python 2.7.6 (v2.7.6:3a1db0d2747e, Nov 10 2013, 00:42:54) 

[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

>>> import requests

Traceback (most recent call last):

File "<stdin>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests-2.3.0-py2.7.egg/requests/__init__.py", line 58, in <module>
  from . import utils
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests-2.3.0-py2.7.egg/requests/utils.py", line 25, in <module>
  from .compat import parse_http_list as _parse_list_header
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests-2.3.0-py2.7.egg/requests/compat.py", line 7, in <module>
  from .packages import chardet
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests-2.3.0-py2.7.egg/requests/packages/__init__.py", line 3, in <module>
  from …
Run Code Online (Sandbox Code Playgroud)

pip python-2.7 python-requests

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

Crontab 和 Python | 不会写CSV

我有一个非常简单的 python 程序,可以生成一个 csv。当我执行时从命令行

python test.py
Run Code Online (Sandbox Code Playgroud)

我没有问题。生成一个 CSV。但是,当我运行 crontab 时,我收到通知,它运行成功但没有 CSV。

不确定我需要改变什么

测试文件

def writeCSV():
    import csv
    print 'Cron Started'

    with open('testout.csv', 'wb') as csvoutput:
        writer = csv.writer(csvoutput)
        writer.writerow('test')

    print 'Cron Complete'


writeCSV()
Run Code Online (Sandbox Code Playgroud)

crontab -l

*/1 * * * * python /Users/Me/Desktop/test.py
Run Code Online (Sandbox Code Playgroud)

python csv crontab

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