在这里如何免费在Pythonanywhere上托管Django Web应用,如果您问我,这真是太好了!在这篇指导中,我将以my portfolio/about me website为例。您可以找到源代码here。
创建网络应用本身ð�ð»
首先,您将需要一个功能齐全的Django Web应用程序(虽然您需要在Django中设置任何生产的内容!)。接下来,您还需要在GitHub上进行项目,最后确保您的项目中有一个requirements.txt
文件。您可以使用pip freeze > requirements.txt
创建此。
旁注:您可能想知道为什么我将Django用于看似静态的网站。我之所以使用Django,是因为我选择使用Github REST API动态更新我的存储库。我也想在某个时候添加一个博客部分,所以自然而然地,Django会有所帮助。
好吧,让我们进入它!
从pythonanywhere开始
最初,您希望在PythonAnywhere上撰写帐户。创建帐户后,您将显示一个基本的仪表板。单击新的控制台,创建一个新的bash控制台,然后克隆您的项目。
然后,创建一个虚拟环境,并使用pip install -r requirements.txt
安装Django和任何其他依赖关系。
重要说明: 请注意用于创建虚拟环境的Python版本。您将稍后再需要!
现在,导航返回仪表板,然后返回到Web
选项卡。从那里创建一个新的Web应用程序,然后选择Manual Configuration
选项(不是Django选项),以及用于创建虚拟环境的Python版本。
毕达尼亚的文件结构ð
在我们进一步走之前,我想解释pythonanywhere的文件结构。最初,这对我来说是非常困惑的,所以希望我能帮助您避免尝试自己弄清楚的斗争!
如果您从仪表板导航到Files
选项卡,则会看到目录列表。在此时间点,您应该查看看起来像这样的文件结构:
- .cache/ .local/ .virtualenvs/ mydjangowebapp/
- myvirtualenv/
当然,MyDjangoWebApp
和MyVirtualEnv
将被称为其他东西,但是您明白了。顺便说一句,所有这些目录都是home/MyUserName
的子目录。
与您的想法相反,我们实际上不需要触摸.cache
,.local
或.virtualenvs
!这些只是Pythonanywhere产生的目录。就其价值而言,我只是完全忽略了其余设置的这些目录。我们将与之互动的唯一目录是您添加的目录,即MyDjangoWebApp
和MyVirtualEnv
。
与Pythonanywhere的更多设置ð
现在,您(希望)您会更多地了解文件系统,我们可以继续。设置Web应用程序后,在Web
选项卡的Virtualenv
部分中输入虚拟环境的名称和路径。您还可以选择在Code
部分中输入代码的路径。
WSGI文件配置ð
之后,我们将编辑WSGI文件。这是它变得有些棘手的地方。您会编辑项目的WSGI文件,您将编辑Pythonanywhere。转到“代码”部分,查找WSGI配置文件的路径,然后打开。
一旦您在那里,到处都有很多评论。您可以删除除Django部分以外的所有内容。现在,请确保您在Django部分中取消所有内容。完成后应该看起来像这样:
#+++++++++++ DJANGO +++++++++++
import os
import sys
# assuming your django settings file is at '/home/MyUserName/mysite/mysite/settings.py'
# and your manage.py is is at '/home/MyUserName/mysite/manage.py'
path = '/home/MyUserName/TOBECOMPLETED_1'
if path not in sys.path:
sys.path.append(path)
os.environ['DJANGO_SETTINGS_MODULE'] = TOBECOMPLETED_2.settings'
# then:
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
现在,我适当地使您感到困惑,让我解释一下。 TOBECOMPLETED_1
应替换为Root Project的名称。 TOBECOMPLETED_2
不应用您的项目的名称替换,而应使用Root Project的实际项目目录。
如果这听起来有些困惑,请以my repository为例。例如,TOBECOMPLETED_1
将设置为personal-website
,TOBECOMPLETED_2
将设置为personal_website
。设置此设置后,请确保保存文件(右上),然后返回到Web
Tab。
完成pythonanywhere设置ð©
您快要完成了!最后要做的是设置您的数据库(如果您使用一个)。虽然我自己没有设置一个,但这里是pythonanywhere所说的:
,如果像大多数站点一样,您的网站使用数据库,则需要设置该网站。转到
Consoles
选项卡,启动bash控制台,使用CD导航到您的Django Project的Manage.py Lives的目录,然后运行`./manage.py migrate。
现在,返回到Web
选项卡,然后转到您的Web应用程序。单击Green Reload site
图标。您现在应该启动并运行!不过,最后一件事,如果您遇到任何错误或网站不会加载,请检查日志文件!
关闭ð
我希望该小指南能帮助您在Pythonany Where设置您的第一个Django Web应用程序!请随时查看我在Pythonanywhere托管的网络应用:https://kureal.pythonanywhere.com/home/
如果我犯了任何错误,或者您有任何想法/评论,请随时发表评论!
与我联系: