标签: pythonanywhere

在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
查看次数

django pythonforfacebook处理移动应用程序访问?

受到Hacker News(http://blog.pythonanywhere.com/35/)20分钟内在PythonAnywhere上编写facebook应用程序的启发,我正在编写一个facebook应用程序.一切都很好,通过网络浏览器访问Facebook应用程序.它真的只花了我20分钟......

但是,当我通过Facebook iphone应用程序访问时,它抱怨没有移动版本的URL.然后我注意到Facebook App设置页面中的"Mobile Web"URL.我更新了网址,现在它至少尝试访问我的网站.但是访问权限不同,它返回"400 Bad Request"和"missing signed_request"

我从其他几个问题中收集到这些类型的facebook应用程序之间存在差异.但是,由于pythonforfacebook处理画布应用幕后的所有会话工作,我希望它可以通过移动应用程序来完成.

所以,我想知道 - pythonforfacebook也可以处理移动应用程序吗?需要什么样的重新配置来处理这两种类型的访问?

python django facebook pythonanywhere

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

在pythonanywhere中没有apt-get从源代码安装

也许是因为我是新来的,我没有根访问或共享环境dpkg/ apt工具的家庭,但我想从源代码安装(例如,GCC/GDB),可能通过wget抢压缩包,解压,并且configure --prefix=$HOME在打电话之前指出,make; make install但我遇到了一些问题.即白名单(显而易见),其次是配置步骤给我带来麻烦.

有人可以引导我完成这个过程吗?Pythonanywhere附带make,所以不像他们不希望你这样做.

编辑

也许gcc/gdb可能不是最好的例子 - 它们一起接近500MB的免费账户分配的一半.

makefile package pythonanywhere

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

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编写的量化金融信息服务网站的结构(3.x我希望)并得出结论 - 纠正我,如果我错了 - 我要去必须同时使用eventlet网络库多处理库.

该系统的一部分基本上是一个在后台运行的cron作业,在市场关闭后检查股票市场和其他财务数据,进行机器学习和定量计算,然后将预测放在一个简单的数据库中,甚至可能是一个平坦的逗号分隔文件.(因此,参数通过文件在系统的各部分之间传递.)

我知道eventlet可以用于非阻塞I/O,这样美丽的汤或scrapy可以同时从多个站点(某种程度上)抓取信息,多处理库可以使机器学习/量化算法进行计算将所有股票数据并行作为单独的流程.

要查看预测,用户将登录使用Flask构建的系统的其他部分,该部分将访问数据库并显示预测.

我假设所有这些库和混合线程/多处理例程彼此相处?我将使用pythonanywhere.com作为主机,它们似乎有相当多的"电池包括在内".当然,当测试完成后,我可能不得不升级"工人"的数量来为最终部署的站点供电.

混合线程和多处理中的任何陷阱都会变得复杂吗?

python python-multithreading flask pythonanywhere python-multiprocessing

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

通过移动数据发送POST请求

我正在开发一个Android应用程序,使用HTTP请求和JSON 从pythonanywhere托管的python服务器发送和接收数据.

该应用程序通过WIFI完美运行,但当我通过移动数据使用它时会出现问题.来自具有GET请求的服务器的所有数据都可以正常工作,但POST和DELETE请求似乎不会发送或以其他方式工作.

我不知道问题是否存在

  1. 免费服务器
  2. 不受信任的应用程序
  3. 权限

PostRequest.java

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;

import android.os.AsyncTask;
import android.util.Log;

public abstract class PostRequest extends AsyncTask<String,Void,String> {


    private static String convertInputStreamToString(InputStream inputStream) throws IOException{
        BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(inputStream));
        String line = "";
        String result = "";
        while((line = bufferedReader.readLine()) != null)
            result += line;

        inputStream.close();
        return result;

    }   

    @Override
    protected String doInBackground(String... params) …
Run Code Online (Sandbox Code Playgroud)

python android pythonanywhere

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

错误400与python-amazon-simple-product-api通过pythonanywhere

我已经在这一天中度过了一天,但是已经有相同的错误400了很长一段时间.基本上,该应用程序的目标是从亚马逊推荐网址解析图书的ISBN,并将其用作从亚马逊产品广告API中提取图像的参考密钥.该网页使用Python 3.4和Django 1.8编写.我花了很长时间在这里研究并决定使用python-amazon-simple-product-api,因为它会使得亚马逊的解析结果更容易一些.

答案如下:如何使用Python Amazon Simple Product API来获得产品的价格

让它看起来很简单,但我还没有完全成功地查找产品.这是我的方法通常做的控制台打印输出,已填写正确的ISBN:

>>> from amazon.api import AmazonAPI
>>> access_key='amazon-access-key'
>>> secret ='amazon-secret-key'
>>> assoc ='amazon-associate-account-name'
>>> amazon = AmazonAPI(access_key, secret, assoc)
>>> product = amazon.lookup(ItemId='1632360705')
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/home/tsuko/.virtualenvs/django17/lib/python3.4/site-packages/amazon/api.py", line 161, in lo
okup
    response = self.api.ItemLookup(ResponseGroup=ResponseGroup, **kwargs)
  File "/home/tsuko/.virtualenvs/django17/lib/python3.4/site-packages/bottlenose/api.py", line 242, i
n __call__
    {'api_url': api_url, 'cache_url': cache_url})
  File "/home/tsuko/.virtualenvs/django17/lib/python3.4/site-packages/bottlenose/api.py", line 203, i
n _call_api
    return urllib2.urlopen(api_request, timeout=self.Timeout)
  File "/usr/lib/python3.4/urllib/request.py", line 153, …
Run Code Online (Sandbox Code Playgroud)

python django amazon-web-services pythonanywhere

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

无法在Python Anywhere上部署Django应用程序:ImportError:没有名为'environ'的模块

尝试在Python Anywhere上部署本地Django项目,但是在运行"python manage.py migrate"时收到ImportError:没有名为"environ"的模块

File "/home/Dude1983/surfapp/src/surfapp/settings/development.py",line 1, in <module>
from .base import *             # NOQA
File "/home/Dude1983/surfapp/src/surfapp/settings/base.py", line 45,in <module>
import environ
ImportError: No module named 'environ'
Run Code Online (Sandbox Code Playgroud)

我检查了Django版本,均为1.9.5.

我的wsgi.py看起来像这样:

import os
import sys

path = '/home/Dude1983/surfapp/'  # use your own username here
if path not in sys.path:
    sys.path.append(path)

os.environ['DJANGO_SETTINGS_MODULE'] = 'surfapp.settings.production'

from django.core.wsgi import get_wsgi_application
from django.contrib.staticfiles.handlers import StaticFilesHandler
application = StaticFilesHandler(get_wsgi_application())
Run Code Online (Sandbox Code Playgroud)

我正在使用Edge 2启动器模板,我的设置位于此处:

surfapp
    ?   ??? __init__.py
    ?   ??? __pycache__
    ?   ?   ??? __init__.cpython-35.pyc
    ?   ??? logger.py
    ?   ??? …
Run Code Online (Sandbox Code Playgroud)

deployment pythonanywhere

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

在Django网站中提交表单后,如何执行繁重的后台python代码?

我对Django中的后台任务有一个概念性的问题。我正在通过PythonAnywhere运行一个Python / Django站点。

我有一个名为“ databooks”的网络应用,该应用由具有以下条目的表单组成:

  1. 数据手册名称
  2. 文件夹位置/链接(在我的PythonAnywhere文件系统上)

然后,此数据手册应用程序查看文件夹位置,并编译其中的所有其他文件以创建一个大PDF。然而,由于合并页面并添加页脚等的性质,它被认为是“重处理”PythonAnywhere,他们定义为一个网络工作者超过5分钟,他们分别杀了。

我想到的解决方案是在提交表单后执行background-python脚本,该脚本将databooks views.py文件中的整个内容输入到backgrounddatabookgenerator.py文件中,该文件可以独立于用户在浏览器窗口中的运行而运行。

在查看了PythonAnywhere对此的诊断之后,我一直在研究一些选项,但是到目前为止,在实现后台任务(即django-background-tasks)方面还没有成功。

是否有人熟悉Django工作流程,在单击“提交”按钮后,可以实现将另一个python文件作为后台任务调用的实现?为此,我想使此后台任务独立于用户单击提交后的操作,允许繁重的数据手册生成过程自行完成,而无需考虑时间

views.py

def Databook_req(request):
    submitted = False
    if request.method == 'POST':
        form = DatabookForm(request.POST, request.FILES)
        What_would_you_like_to_save_the_completed_data_book_as = request.POST['What_would_you_like_to_save_the_completed_data_book_as']
        Major_Equipment_Folder = request.POST['Major_Equipment_Folder']
        if form.is_valid():
            data_dict = {
                'What_would_you_like_to_save_the_completed_data_book_as_': str(What_would_you_like_to_save_the_completed_data_book_as),
                'Major_Equipment_Folder': str(Major_Equipment_Folder)
            }
            form.save()
            DataBookName = str(What_would_you_like_to_save_the_completed_data_book_as) + '.pdf'
            original_path = str(Major_Equipment_Folder)
Run Code Online (Sandbox Code Playgroud)

***然后,数据手册代码通过引用上述变量来遵循此规则。我不确定是否需要一个单独的python文件来作为后台任务运行下面的所有内容,但是它目前正在超时。

python django pythonanywhere background-task

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