如何在铁路上托管Django项目
#python #django #github #railway

嘿,大家ðð¾。本文将显示在铁路上托管Django应用程序的更新方法。让我们开始。

简单的介绍

铁路是一个云托管平台,您可以在其中托管项目和供应基础架构(如数据库)。它通常被称为Heroku的替代品。

教程

步骤1 :要开始,您需要拥有一个包含要托管项目存储库的GitHub帐户。如果您还没有一个铁路帐户,则还需要创建一个铁路帐户。单击here注册铁路。

步骤2 :在您的项目中,运行命令:

pip install gunicorn

步骤3 :运行下面的命令以获取项目中使用的所有软件包:

pip freeze > requirements.txt

步骤4 :在项目root文件夹中创建一个名为railway.json的文件。将以下代码复制并粘贴到文件中。

{
    "$schema": "https://railway.app/railway.schema.json",
    "build": {
        "builder": "NIXPACKS"
    },
    "deploy": {
        "startCommand": "python manage.py migrate && python manage.py collectstatic --noinput && gunicorn your_app_name.wsgi",
        "restartPolicyType": "ON_FAILURE",
        "restartPolicyMaxRetries": 10
    }
}

在“ startCommand”中替换字符串'your_app_name',用django project的名称,即包含wsgi.py文件的文件夹。

步骤4 :接下来,您将对settings.py文件进行一些更改。检查Line ALLOWED HOSTS = []

将代码行更改为:ALLOWED HOSTS = ['*']允许所有主机在此期间允许所有主机。

仍在您的settings.py文件上,导航到静态文件部分,并添加以下代码:

STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')

步骤5 :接下来,运行以下命令将所有静态文件收集到文件夹中。

python manage.py collectstatic

步骤6 :您现在可以将代码推向GitHub上的存储库。连续运行以下命令执行此操作:

git status
git add .
git commit -m "initial commit"
git push origin main

步骤7 :登录到您的铁路应用帐户

  • 选择新项目 New Project
  • 单击“从github repo部署” Deploy from GitHub Repo
  • 单击“配置GitHub应用程序”。 Configure GitHub App
  • 在对话框窗口中登录到您的github帐户。导航到存储库访问部分,然后选择要部署的存储库。
  • 完成并将其重定向到铁路应用程序页面后,选择“从GitHub Repo部署”,然后选择要部署的存储库。部署应立即开始。

步骤7:部署完成后,您需要对项目的settings.py文件进行一些修改。
Getting Domain Name
转到您新部署的应用程序的“设置”部分,转到环境下的域部分,单击“生成域”,然后复制应用程序的域名。在settings.py文件中

ALLOWED_HOSTS = ['purple-field-production.up.railway.app']

将以下代码添加到您的settings.py,然后用应用程序的完整URL替换变量的值。

CSRF_TRUSTED_ORIGINS = ['https:purple-field-production.up.railway.app']

最后,使用下面的命令提交对您的存储库进行的更改,铁路将自动通过更改重新部署该站点。

git status
git commit -am "updated settings.py"
git push origin main

恭喜!!,您的项目已部署了ð¾