LolipopレンタルサーバーでDjangoを動かす

2024年12月27日python

一言で言うと大変でした。

参考

SSHでDjangoのインストール

pipの導入はぐぐってください。

SSHでサーバーにアクセスしてください。詳しくは

powershellです。

pip install Django==2.1.15

2.1.15じゃないとだめです。このバージョンに対応しているSQLのバージョンじゃないとlolipopで動きません。

ディレクトリ作成

ロリポップのアカウント情報のフルパスって項目の値を控えてください

cd フルパス
mkdir unti
cd unti

cdはディレクトリの移動、mkdirはディレクトリの作成です。untiは好きな値を入れてください。

プロジェクト作成

django-admin startproject config
ls -al

configは任意の値。

仮想環境作成

cd config
python3 -m venv myvenv
source myvenv/bin/activate

仮想環境をつくって入ります。

必要なものインストール

仮想環境で必要なものをpipでインストールします。頭に(myvenv)がついてることを確認してください。

pip install Django==2.1.15

なんでかわらんがいろいろ入れてます。動かなかったら参考にしてください。

certifi                          2024.12.14
charset-normalizer               3.4.0
cloudinary                       1.41.0
Django                           2.1.15
django-admin-autocomplete-filter 0.7.1
django-cloudinary-storage        0.3.0
idna                             3.10
Pillow                           9.5.0
pip                              23.0.1
pytz                             2021.3
requests                         2.31.0
setuptools                       47.1.0
six                              1.17.0
typing_extensions                4.1.1
urllib3                          1.26.20

ちなみにmysqlをどうのこうのするライブラリがなぜかpip installできなかったのでversion2.1.15に落としてsqliteを使う必要があったんですね。

アプリ追加

python3 manage.py startapp myapp

myappは任意の値

以上。

index.cgiと.htaccessの追加

unti/configに
index.cgiと.htaccessを追加します。

index.cgi(属性:700)

#!(フルパス)/unti/config/myvenv/bin/python

import sys

sys.path.append('(フルパス)/unti')
sys.path.append('(フルパス)/unti/config')

import cgitb
cgitb.enable()

from wsgiref.handlers import CGIHandler
from config.wsgi import application

CGIHandler().run(application)

.htaccess(属性:644)

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.cgi/$1 [QSA,L]

動作確認

config/settings.py

ALLOWED_HOSTS = ['*']

config/urls.py

from django.contrib import admin
from django.urls import path
import myapp.views as hello  #myappはアプリ名

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', myapp.index), 
]

myapp/views.py(文字コードUTF-8)

from django.shortcuts import render
from django.http import HttpResponse

def index(request):
    return HttpResponse("おまんこ~🤪(気さくな挨拶)")

実行

index.cgiを実行するとこれ。

こうやって楽曲派.comは生まれたのであった……

2024年12月27日python