STEAM教育ならぬ、STEAMライフ Science + Technology + Engineering + Art + Mathematics
旧『“PLASSON”自作二足歩行ロボット Personal Low-tech ASSembly Of Nisokuhokou 』

チャットボット「人工知能?ななこ」その3

| コメント(0)

「土日でわかる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" を追記せねば。

結果、こんな感じです。

20200517_AInanako02.jpg

本では、どういう流れでこれが動いているかの解説が続きます。HTTP、JSON、MVCとMVT、Djangoのルーティング、Djangoでのリクエストとレスポンスの扱い方、JavaScript、jQuery、Ajax、、、Web開発のキーワード目白押し。
少ないスペースでポイントがギュッと詰まった感じで書いてあります。まぁ、大まかな把握レベルではあるのですが、目の前で動いているソースなので、説得力というか臨場感というか。

ちゃんと読めてませんが(^^;、Webまわりは、きっとそのうちやるでしょう。
「土日でわかるPythonプログラミング教室」はこれで終了です。

 

次は、スクレイピングの予定。数年前に日経ソフトウェアの付録でさわりをやりましたが、あらためて。どうなりますやら。

コメントする

この記事について

このページは、SLANが2020年5月17日 09:23に書いた記事です。

ひとつ前の記事は「Reboot and Select proper Boot device or Insert Boot Media in selected Boot device and press a key_」です。

次の記事は「レンタルサーバーでPython動かすメモ」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。