我试图了解如何最好地使用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) 我一直在寻找有关如何在EC2实例上设置以下内容的逐步说明.对于一个新用户,我希望事情干净整洁,但所有的"指南"都有不同的信息,真的让人感到困惑.
我的第一个想法是我需要做以下事情
不明确的事情:
sudo pip package_name够了吗?我正在将我的第一个应用程序(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) 我正在学习Selenium并且对XPATH有很好的把握.
我遇到的问题是,在网页上,还有我要选择具有动态生成的元素id和class.我曾尝试过以下方法:
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) 我是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) 我刚刚在新计算机上安装了包请求.我尝试导入该模块时收到此错误.是什么导致问题与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) 我有一个非常简单的 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 ×4
python-2.7 ×3
amazon-ec2 ×2
crontab ×2
flask ×2
pip ×2
csv ×1
html ×1
postgresql ×1
selenium ×1
virtualenv ×1
xpath ×1