1.ソースをgithubへ
$ git init
$ git add .
$ git commit -m "first commit"
$ git remote add origin https://github.com/******/******.git
$ git push -u origin master
変更は
$ git add .
$ git commit -m "first commit"
$ git push origin master
git 初期化
$ rm -rf .git
Vue.jsの部分がサブフォルダになり、githubに入りない問題
$ mv リポジトリ名 subfolder_tmp
$ git submodule deinit リポジトリ名
$ git rm --cached リポジトリ名
$ mv subfolder_tmp リポジトリ名
$ git add リポジトリ名
$ git add .へ
git clone https://github.com/*******/*******.git . -b master
2.Djangoの設定 (すでに開発したものがあるという前提)
pip install gunicorn whitenoise django-heroku
setting.py
静的ファイルの設定
import os
import django_heroku
#TEMPLATES.DIRSにindex.html
のパスを書いておけばOK
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'client/dist')],
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) MIDDLEWARE = [ (その他のミドルウェア) 'whitenoise.middleware.WhiteNoiseMiddleware', ] STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles') STATIC_URL = '/static/' # すでにあるはず STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'client/dist/static'), ) STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
#heroku対応
django_heroku.settings(locals())
urls.py
from django.urls import path, include, re_path # 追加
from django.views.generic import TemplateView
urlpatterns = [ path('admin/', admin.site.urls), path('api/', views.api), re_path('', TemplateView.as_view(template_name='index.html')), ]
3.Vue.js側の設定
静的ファイルが生成
npm run generate
nuxt.config.js
# 追加
build: { publicPath: '/static/_nuxt/' }
4.heroku操作
package.json
"scripts": {
"postinstall": "cd client; npm install --production=false",
"build": "cd client; npm nuxt-ts generate"
}
Procfile
web: gunicorn <wsgiファイル>.wsgi
$ heroku login
$ heroku create
$ heroku buildpacks:set heroku/python
$ heroku buildpacks:add --index 1 heroku/nodejs
$ git push heroku master
$ heroku open
現在コメントはありません