我正在使用Flask Mega 教程在 pythonanywhere 中构建一个应用程序,当我在我的电脑上运行时它运行良好。当我将它上传到 PA 时,它会收到 404 错误。
我的结构
/microblog
/flask (virtualenv setup)
/app
__init__.py
views.py
Run Code Online (Sandbox Code Playgroud)
我的 wsgi 文件
import sys
project_home = u'/home/thefritobandit/microblog/app'
if project_home not in sys.path:
sys.path = [project_home] + sys.path
from __init__ import app as application
Run Code Online (Sandbox Code Playgroud)
我的init .py 文件
from flask import Flask
app = Flask(__name__)
from app import views
Run Code Online (Sandbox Code Playgroud)
我的 views.py 文件
from app import app
@app.route('/')
@app.route('/index')
def index():
return "Hello World!"
Run Code Online (Sandbox Code Playgroud)
我敢肯定这是愚蠢的,但任何帮助将不胜感激!谢谢!
--edit-- 忘记在我的 init 文件底部复制导入
您好我正在使用Pythonanywhere和我打电话
from datetime import *
print date.today().day
Run Code Online (Sandbox Code Playgroud)
它打印的时间与我住的那天不同(德克萨斯州奥斯汀).我认为这是因为存在时区差异.我如何告诉我居住的日期对象,以便获得正确的时区.提前致谢
如何将完成的 django 本地项目上传到 pythonanywhere.com?有没有什么选择,或者我应该逐个文件地做?
我现在在 pythonanywhere 上有这样的我的 Django 网站, 但我没有看到如何上传我完成的项目:(
我上传了一个 zip 文件,但如何通过 bash 控制台解压缩它?
我已经在这一天中度过了一天,但是已经有相同的错误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) 尝试为我的应用创建一个注册页面。我正在使用来自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) 这不是建议的重复项。我并不是想切换后端。我只是想尝试使用这个%matplotlib notebook
公式。此外,其他问题中建议的解决方案(将其放在 OR 尝试连续两次调用魔术命令%matplotlib notebook
之前from matplotlib import pylplot as plt
)对我不起作用。行为(空白笔记本图表)仍然存在。
将 the 放在%matplotlib notebook
the 之前from matplotlib import pylplot as plt
尝试连续两次调用魔术命令
当我使用%matplotlib inline
我的图表时,总是会显示,但它们通常较小,并且无法缩放/平移。
当我使用时,%matplotlib notebook
我会得到可缩放、可平移的图表,但有时会遇到图表显示为空白的问题。
背景:
PythonAnywhere 笔记本 3.6 Python。使用 Windows 7 中的更新 Google Chrome。
如果我重新打开现有的笔记本,甚至重新启动内核并重新运行所有单元格,所有单元格.plot()
都会显示为空白。但如果我同时启动一台全新的 3.6 笔记本, %matplotlib notebook
绘图效果很好。杀死所有与 jupyter 相关的进程也没有帮助。
这种情况并不总是发生。但如果一张图表显示为空白,则所有图表都显示为空白。
我想使用notebook
魔法,但这个问题相当深奥。
我正在尝试collectstatic
在 pythonanywhere 的 bash 终端中使用该命令:
python manage.py collectstatic
Run Code Online (Sandbox Code Playgroud)
但我得到:
PermissionError: [Errno 13] 权限被拒绝: '/static'
请问有人可以帮忙吗?这两天我一直在努力解决这个问题。
这是完整的错误:
nomadpad-virtualenv) 11:51 ~/nomadpad (master)$ python manage.py collectstatic Copying '/home/DMells123/.virtualenvs/nomadpad-virtualenv/lib/python3.6/site-packages/djang o/contrib/admin/ static/admin/img/inline-delete.svg' Traceback(最近一次调用):文件“manage.py”,第 22 行,在 execute_from_command_line(sys.argv) 文件“/home/DMells123/.virtualenvs/nomadpad-virtualenv /lib/python3.6/site-packages/django /core/management/init.py”,第 364 行,在 execute_from_command_line 实用程序.execute() 文件“/home/DMells123/.virtualenvs/nomadpad-virtualenv/lib/python3. 6/site-packages/django /core/management/init.py", line 356, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/DMells123/.virtualenvs/nomadpad-virtualenv/lib /python3.6/site-packages/django /core/management/base.py",第 283 行,在 run_from_argv self.execute(*args, cmd_options) 文件“/home/DMells123/.virtualenvs/nomadpad-virtualenv/lib/python3.6/site-packages/django /core/management/base.py”中,行330,在执行输出= self.handle(*args, options) File "/home/DMells123/.virtualenvs/nomadpad-virtualenv/lib/python3.6/site-packages/django /contrib/staticfiles/management/commands/collectstatic .py”,第 199 行,在句柄中收集 = self.collect() 文件“/home/DMells123/.virtualenvs/nomadpad-virtualenv/lib/python3.6/site-packages/django /contrib/staticfiles/management/commands/ collectstatic.py", line 124, in collect handler(path, prefixed_path, storage) File …
由于错误,Django 管理员显示没有 CSS:
The resource from “my-website-address/static/admin/css/responsive.css” was blocked due to MIME type (“text/html”) mismatch (X-Content-Type-Options: nosniff).
我可以在浏览器中打开的 CSS url 看起来不错。
如何修复标准 Django 管理界面的 CSS 显示?
我正在制作一个日历应用程序,它允许用户授予访问其谷歌日历的权限,然后我的应用程序将允许他们查看和编辑以我自己的自定义样式显示的日历。
它基于此 Google “快速入门”示例。
它目前在本地运行良好,但到目前为止,我无法在 pythonanywhere.com 上运行它(URL 将是http://myname.pythonanywhere.com)。
在我工作的本地版本中,我使用的凭据.json 文件以"installed":
AFAICT 对应的“桌面应用程序”开头,"redirect_uris":
包含["urn:ietf:wg:oauth:2.0:oob", "http://localhost”]
. (“ http://localhost ”是有道理的,但我不知道为什么还有第二个 uri“urn:ietf:wg:oauth:2.0:oob”)
{
"installed": {
"client_id": "XXXXXXXXXXXXXXXX.apps.googleusercontent.com",
"project_id": "my_great_calendar",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_secret": "XXXXXXXXXXXXX",
"redirect_uris": [
"urn:ietf:wg:oauth:2.0:oob",
"http://localhost"
]
}
}
Run Code Online (Sandbox Code Playgroud)
如果我错了,请纠正我,但我认为这个凭据.json 文件在 myname.pythonanywhere.com 上托管时不可能工作,我需要创建一个新文件(在 Google 的“API 和服务”页面上)通过将项目声明为“Web 应用程序”?并告诉谷歌我的重定向 uri 是“ http://myname.pythonanywhere.com ”?
如果有一种方法可以在本地和 pythonanywhere 上使用单个凭据.json 文件?
编辑:快速入门示例采用InstalledAppFlow.from_client_secrets_file
我现在认为是错误的。它可能需要以某种方式使用google_auth_oauthlib.flow.Flow.from_client_secrets_file()
,而不是作为....描述这里。
已解决:我编辑了错误的 WISGI 文件。我没有意识到有 2 个单独的 WISGI 文件。问题解决了。感谢 Forcebru 的帮助。
我写了一篇文章详细介绍了如何在 PytonAnywhere 上部署 Django的过程。希望这可以帮助一些人避免我所犯的陷阱。
我正在尝试使用 pythonanywhere.com 中的 .env 文件设置环境变量,但我不断收到错误消息,指出我的 SECRET_KEY 为空,因此未设置我的环境变量。
我正在关注 pythonanywhere.com 上的文章
链接:https://help.pythonanywhere.com/pages/environment-variables-for-web-apps/
import os
from dotenv import load_dotenv
project_folder = os.path.expanduser('~/my-project-dir') # adjust as appropriate
load_dotenv(os.path.join(project_folder, '.env'))
Run Code Online (Sandbox Code Playgroud)
我不太明白第三行。在终端中,我 cd 进入项目文件夹并运行 pwd 命令来获取路径。我不确定我应该为 的论证包含哪一部分os.path.expanduser('~/my-project-dir')
。
按照本文中的 bash 控制台部分,我在访问环境变量时没有遇到任何问题。所以我认为我正在使用正确的工作项目目录。我能够向控制台发出回声。
这是我的 WISGI 文件:
import os
from dotenv import load_dotenv
from django.core.wsgi import get_wsgi_application
project_folder = os.path.expanduser('~/bogalusa-church')
load_dotenv(os.path.join(project_folder, '.env'))
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'bogalusa_church.settings')
application = get_wsgi_application()
Run Code Online (Sandbox Code Playgroud)
我用于设置 bash 终端变量的工作目录与我在这里使用的目录相同。
任何见解都将受到高度赞赏。感谢您提前提供的任何帮助。
pythonanywhere ×10
python ×8
django ×5
flask ×3
css ×1
django-admin ×1
jupyter ×1
matplotlib ×1
mysql ×1
oauth-2.0 ×1
python-2.7 ×1
virtualenv ×1