DreamerDreamのブログ

夢想家の夢です。〜揚げたてのモヤっとしたものをラフレシアと共に〜

Django奮闘記②さあ立ち上がれ!ーサーバーの起動ー

前回、Djangoを調べてインストールしました。

dreamerdream.hateblo.jp

 

 

今回は実践です。

こちらのブログを参考にさせていただきました↓というかこのまま出来るか試してみました。

kuroneko0208.hatenablog.com

 

プロジェクトを作る

プロジェクトを作りたいディレクトリに移動して、

django-admin startproject [プロジェクト名]

と打つだけです。

raspberrypi:~ $ mkdir dreamer
raspberrypi:~ $ ls
dreamer
raspberrypi:~ $ cd dreamer/
raspberrypi:~/dreamer $ django-admin startproject dreamer

これでプロジェクトに必用な基本ディレクトリやファイルが生成されます。

dreamer/

 manage.py
 dreamer/
  __init__.py
  settings.py
  urls.py
  wsgi.py

 

 

ブログに書いてある通りにブログアプリを作ります

manage.pyのあるディレクトリから

python3 manage.py startapp blog

と打つだけです

python

としただけではpython2が起動してしまうので「無理!」ってお返事が返って来ます(何度もクセでやってしまった僕。。。)

python3

です間違えないように!

ちなみに、ボクは進化したpythonてことで「パイソンさん(3)」と呼ぶ事にしました。

間違えて「パイソン!」と呼び捨てると「は?何言ってるかわかんねー!」ってお返事をくれるのでしっかり「パイソンさん」と敬意を払って呼び出しましょう!

https://images.techhive.com/images/article/2014/10/python-100506953-primary.idge.jpeg

ご一緒に、せーのっ!「パイソンさ〜ん!」(舐めてる)

 

raspberrypi:~/dreamer $ python3 manage.py startapp blog
raspberrypi:~/dreamer $ ls
blog dreamer manage.py

blogディレクトリが出来ます。

dreamer/setting.py

を編集してblogを追加、使用言語とタイムゾーンの設定をします。

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog',
]

...

LANGUAGE_CODE = 'ja'

TIME_ZONE = 'Asia/Tokyo'

...

 

ここでブログの通りにスーパーユーザー登録しようとすると

python3 manage.py createsuperuser

こんなエラーが出た。

You have 15 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
........(略)

File "/usr/local/lib/python3.5/dist-packages/django/db/backends/sqlite3/base.py", line 296, in execute
return Database.Cursor.execute(self, query, params)
django.db.utils.OperationalError: no such table: auth_user

 

 

うん?auth_userが見つからないそうな、データベースSQLiteのエラー?

とりあえずググる

python.keicode.com

teamtreehouse.com

コマメにmigrateという作業が必用なそうで?

よくわからんっ!!!

最初からやり直してやってみる

わからんからとにかく全部消す!

aspberrypi:~ $ sudo rm -r dreamer

もっかいプロジェクト作る!

raspberrypi:~ $ django-admin startproject dreamer

今度はプロジェクトだけでmigrateする!

raspberrypi:~/dreamer $ python3 manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying sessions.0001_initial... OK

とりあえずmigrateはできたっぽい?

 

で、今回はアプリを作らずこのままでサーバー起動するのかやってみる。

raspberrypi:~/dreamer $ sudo python3 manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).
September 01, 2018 - 00:04:31
Django version 2.1, using settings 'dreamer.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

ん?ブラウザで開いてみる。

f:id:DreamerDream:20180901090953p:plain

無理っぽ!!

※アドレスがlocalhostとなっているのはsshポートフォワードで接続しているから。じつは別のPCからアクセスしています。

dreamerdream.hateblo.jp

 

runサーバーリファレンスを読むと、どうやらDjangoサーバーはテスト用なので自身からしか見えない仕様っぽい

django-admin と manage.py | Django documentation | Django

なるほど!

はじめての Django アプリ作成、その 1 | Django documentation | Django

にあるように

python manage.py runserver 0:8000

とすると他のPCからのアクセスも受け付けてくれるってさ。

やってみる

raspberrypi:~/dreamer $ sudo python3 manage.py runserver 0:8000
Performing system checks...

System check identified no issues (0 silenced).
September 01, 2018 - 00:18:05
Django version 2.1, using settings 'dreamer.settings'
Starting development server at http://0:8000/
Quit the server with CONTROL-C.
[01/Sep/2018 00:18:10] "GET / HTTP/1.1" 200 16348
[01/Sep/2018 00:18:10] "GET /static/admin/css/fonts.css HTTP/1.1" 200 423
Not Found: /favicon.ico
[01/Sep/2018 00:18:11] "GET /favicon.ico HTTP/1.1" 404 1973
[01/Sep/2018 00:18:11] "GET /static/admin/fonts/Roboto-Bold-webfont.woff HTTP/1.1" 200 82564
[01/Sep/2018 00:18:11] "GET /static/admin/fonts/Roboto-Light-webfont.woff HTTP/1.1" 200 81348
[01/Sep/2018 00:18:11] "GET /static/admin/fonts/Roboto-Regular-webfont.woff HTTP/1.1" 200 80304

ブラウザでアクセスすると

f:id:DreamerDream:20180901091944p:plain

おおおお〜〜〜!!!!ジャンゴー!!!

 

とりあえずやっとこさテストサーバーが起動したので今日はここまで。

いやはや、先が思いやられます。続く?のか?この日誌?

 

続↓

dreamerdream.hateblo.jp