📜  如何在 PythonAnywhere 上部署 Django 项目?

📅  最后修改于: 2022-05-13 01:54:50.878000             🧑  作者: Mango

如何在 PythonAnywhere 上部署 Django 项目?

在过去的几年里,Django 已经成为流行的框架之一。很多时候,在创建完自己的django项目之后,你很迷茫,不知道如何与身边的人分享。本文围绕如何在 pythonanywhere 上免费托管 django 应用程序展开。所以让我们开始吧..!!

第 1 步:设置您的 Django 项目(本地更改)

让我们在 Django 中创建一个简单的应用程序来显示部署。

  • 初始化你的 Django 项目
django-admin startproject deploy_on_pythonanywhere

  • 在您的编辑器和 settings.py 下打开项目:
ALLOWED_HOSTS = ['*']
  • 使用命令创建 requirements.txt 文件
pip3 freeze > requirements.txt

  • 我们项目的文件结构如下所示:
deploy_on_pythonanywhere
├── db.sqlite3
├── deploy_on_pythonanywhere
│   ├── asgi.py
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── __init__.cpython-38.pyc
│   │   ├── settings.cpython-38.pyc
│   │   ├── urls.cpython-38.pyc
│   │   └── wsgi.cpython-38.pyc
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── manage.py
└── requirements.txt

  • 让我们启动我们的 Django 服务器
cd deploy_on_pythonanywhere
python3 manage.py runserver

Yahooooo,您的服务器正在本地主机上运行

第 2 步:将项目上传到 GitHub

  • 按照这个链接在github上推送项目——如何在Github上上传项目?

第 3 步:在 pythonanywhere 上部署项目

  • 在 pythonanywhere 上创建一个帐户 - 单击此处
  • 注册后可以看到这样的页面

  • 现在点击 Console 然后选择 Bash 你会看到这样

  • 在 bash 上运行以下命令:
  • 克隆 GitHub 存储库
git clone https://github.com/Prakhar-Mangal/deploy_on_pythonanywhere.git
  • 现在创建和设置环境变量
python3 -m venv env #create virtual environment
source env/bin/activate #activate virtual environment
cd deploy_on_pythonanywhere #navigate inside your project 
pip install -r requirements.txt #installing dependencies using requirements.txt
  • 现在复制您在 bash 上安装的目录的路径
  • 在 bash 上键入命令
cd
ls # get list of directories
pwd #copy the path for future use

  • 这里看起来像:

Hurree,我们成功地设置了我们的项目 :) 但是等等,按照最后的过程,我们准备好了

  • 现在单击 Web,然后选择添加新的 Web 应用程序

  • 单击下一步并按照程序进行操作
  • 选择 Django 作为框架

  • 选择python3.8 (latest) 并点击next to last。

  • 现在在 Web 部分下打开 WSGI 配置文件

  • 在第 1 行编辑 WSGI 配置文件。 12 和 17 用你从 GitHub 克隆的项目名称删除单词mysite ,在我的例子中它是deploy_on_pythonanywhere

  • 现在看起来像这样,然后单击保存:

  • 选择 Web 下的 Virtualenv 部分:

  • 输入我们使用bash创建的Virtualenv的路径(路径参考上面的pwd命令)

  • 单击 Web 部分下的重新加载并访问链接