「土日でわかるPythonプログラミング教室」
・金曜日:環境構築
・土曜日:Pythonプログラミング
・日曜日:Webプログラミング
*************************************************
■日曜日:Webプログラミング
<本の内容>
DockerのLinux環境からgit clone コマンドでWebアプリ版「人工知能?ななこ」のソースをもってくる。
・・・
前と同様、GitHubからソースを単純にダウンロードして、、、ターミナルから python manage.py runserver ・・・
なんか、たくさんエラーが出た(^^;
一度、まっさらなDjango
ーーーーーーーーーーーーーーーーーーーーーー
初めてのDjango開発
https://qiita.com/mas9612/items/d616a74f931babae4566
ーーーーーーーーーーーーーーーーーーーーーー
$ django-admin startproject mysite
$ python manage.py runserver
Starting development server at http://127.0.0.1:8000/
では、素直にサーバーが立ち上がりました。
環境がおかしいわけでないようです。
いろいろググってみると、例えば、以下の2つのような説明が。
ーーーーーーーーーーーーーーーーーーーーーー
Memo:[Django]バージョンによるurls.py内のincludeの仕様の違い
https://qiita.com/snuow/items/3350f2d2c713d55b8423
<エラー発生>
urlpatterns = [
url(r'^testapp/', include('testapp.urls', namespace='testapp')),
]
<これでOK>
urlpatterns = [
url(r'^testapp/', include(('testapp.urls', 'testapp'),)),
]
> 要するに、namespaceでapp_nameを指定するのではなく、2-タプルで渡してね。ってことみたい。
ーーーーーーーーーーーーーーーーーーーーーー
Djangoのincludeの仕様が変っていてハマったのでメモ
https://mocabrown.com/blog/archives/5346
<エラー発生>
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^cms/', include('cms.urls', namespace='cms')),
]
<これでOK>
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^cms/', include(('cms.urls','cms'),)),
]
> ポイントはnamespaceを使わないこと。それと、includeの一つ目の引数としてカッコでくくって渡すこと。
ーーーーーーーーーーーーーーーーーーーーーー
「2-タプルで渡してね。」とか「includeの一つ目の引数として」とか、まだよくわからんけど(^^;、僕の場合は
<現状エラー発生>
urlpatterns = [
url(r'^admin/', admin.site.urls), #テキストでは使用しません。
url(r'^api/', include('api.urls', namespace='api')),
url(r'^', include('talk.urls', namespace='talk')),
]
なので、
<これでOKか?>
urlpatterns = [
url(r'^admin/', admin.site.urls), #テキストでは使用しません。
url(r'^api/', include(('api.urls', 'api'),)),
url(r'^', include(('talk.urls', 'talk'),)),
]
・・・OKでした。Webサーバーが立ち上がりました。
会話をしようとテキスト入力すると、またエラーが・・・あ、そうか、前回のチャットボット同様、,encoding="utf-8_sig" を追記せねば。
結果、こんな感じです。
本では、どういう流れでこれが動いているかの解説が続きます。HTTP、JSON、MVCとMVT、Djangoのルーティング、Djangoでのリクエストとレスポンスの扱い方、JavaScript、jQuery、Ajax、、、Web開発のキーワード目白押し。
少ないスペースでポイントがギュッと詰まった感じで書いてあります。まぁ、大まかな把握レベルではあるのですが、目の前で動いているソースなので、説得力というか臨場感というか。
ちゃんと読めてませんが(^^;、Webまわりは、きっとそのうちやるでしょう。
「土日でわかるPythonプログラミング教室」はこれで終了です。
次は、スクレイピングの予定。数年前に日経ソフトウェアの付録でさわりをやりましたが、あらためて。どうなりますやら。
コメントする