使用静态文件的 Django 在 Heroku 上进行部署
我参考了以下页面:Django和静态资产。
这是创建基于Django的项目的方法。创建一个使用静态文件(如jQuery、css)的应用程序。
- 安装库文件
sudo pip3 install whitenoise
- 编辑proj01/settings.py
(省略)
ALLOWED_HOSTS = ['*']
(省略)
MIDDLEWARE = [
'whitenoise.middleware.WhiteNoiseMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
(省略)
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.1/howto/static-files/
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.9/howto/static-files/
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
- 在这个阶段,需要确认开发服务器是否正常运行。
python manage.py runserver
- 我会准备下一个文件。
运行时文本
进程文件
依赖文件
忽略.git文件
python-3.10.7
web: gunicorn proj01.wsgi --log-file -
django-heroku
gunicorn
pytz
whitenoise
.vscode
__pycache__
env
staticfiles
db.sqlite3
*.py[co]
local_settings.py
- 我会将其上传到Heroku。
heroku login -i
git init
git add .
git commit -m "init"
heroku create p0500
heroku config:set DISABLE_COLLECTSTATIC=1
git push heroku master
- 在这个例子中,没有使用数据库。
我們使用網絡瀏覽器訪問 https://p0500.herokuapp.com/app03/。
删除应用程序
heroku apps:destroy --app p0500