djangoに挑戦のその後
こんにちはrunzouです。
djangoに挑戦したもののCSSがなかなか実装されない、ので
気晴らしに?
一旦HTMLとCSSの 模写?みたいのをすることにしました。
こんな感じで、HTMLは高校くらいからたまに触っているけど調べたことがなかったので今回ので少し、頭に入ったかな、、、、、
と言う感じ。
模写したサイトはここに載ってる架空建設会社のサイトです。
Webサイトの写経のやり方とレベル別のステップアップ方法を解説します | 転職のみちしるべ
こんな感じに
<!---->で タグの意味を調べて書き込んだ~
これをこの前のdjangoのindexファイルにぶち込みました、すると
こうなりました
なんかサイトっぽい!
下ネタは置いといて、これにCSSをちゃんと実行されるように
ちゃんとファイル構成を勉強しなきゃ。。。。?w
おしまい
~ djangoで webアプリに挑戦 part.2~
こんにちはrunzou。
これは前回の続きです、前回はこちら
~ djangoで webアプリに挑戦 ~ - runzou’s diary
前回は django でローカルサーバーを立ち上げて、ロケットの画面(インストールおめでと画面)を真っ白の背景に文字があるという
最高につまらないページにする事をしました。
今回は、また、この動画を勝手に参考にして、テンプレートなるものを使用して、上の部分にメニューがあるようなサイトを作成する〜
テンプレートをマスターしよう! | 初心者向けdjangoチュートリアル #2 - YouTube
ナビゲーションバー(上のメニュー)を表示~
<!DOCTYPE HTML> <html> <head> </head> <body> <div class="navbar"> <a href="/">Home</a> <a href="/about/">自己紹介</a> </div> <h1>Home</h1> </body> </html>
~ djangoで webアプリに挑戦 ~
こんにちはrunzouです。
前回 python で webアプリを作るために Flaskをしました(ただの動画丸写し
記事はこちら↓
2022-09-13から1日間の記事一覧 - runzou’s diary
今回は、思い切って 少し難易度高そうな django に手を出してみようと思い、こちらの動画を参考にしました。(今日ももちろん丸写し)
Pythonでウェブサービスを作ろう! 初心者向けdjangoチュートリアル #1 - YouTube
しかし、paiza cloud を使用しての動画だったので、自分のパソコンで環境構築しながら
進めていく〜!
ちなみに私の環境は macbook pro m1 で anacondaの仮想環境をしています。
- django インストール
- django でローカルサーバーを起動
- さっきのロケット飛んでるページどんなURLでも見れるように?設定を変える
- djangoでappのファイルを作成
- HTMLとかのviewを追加する~
- urls.pyで view と URL を結びつける~
- まとめ?
django インストール
% conda install django
をして django をインストールした〜
django でローカルサーバーを起動
% cd Desktop/runzou_app1
webアプリのファイルを作りたい場所に移動~
% django-admin startproject runzou_web_app
djangoプロジェクトを作る〜、名前はrunzou_web_app
cd runzou_web_app
runzou_web_appへ移動~
python manage.py migrate
さてこれはなんだ?
管理画面が使う上表をデータベースに自動的に作成・管理する機能です。
だって、それを構築するらしい、意味不明だ Hi,Tugi
実行するといっぱいなんか出てきてかっこいい感じになるよ
python manage.py runserver
これでサーバーが起動し、URLが表示される!やったね!
早速アクセスだ〜
なんかさ あのー ロケット飛んでるね わ すごい
意味不明すぎて 死ぬ
気を取り直してですね、 次です
さっきのロケット飛んでるページどんなURLでも見れるように?設定を変える
よくわかんないけど setting.py というファイルがあるのでその中の[]を["*"]に変える。
他端末から見れるってことかなって思ったけど、見れなかった、、
どういう意味なんだろう、、、、?
""" Django settings for runzou_web_app project. Generated by 'django-admin startproject' using Django 4.0. For more information on this file, see https://docs.djangoproject.com/en/4.0/topics/settings/ For the full list of settings and their values, see https://docs.djangoproject.com/en/4.0/ref/settings/ """ from pathlib import Path # Build paths inside the project like this: BASE_DIR / 'subdir'. BASE_DIR = Path(__file__).resolve().parent.parent # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/4.0/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = 'django-insecure-$mv&vlgp8(j5&c+ge79b53m2jljvlze@h9emq9p9g*#l=g_ij+' # SECURITY WARNING: don't run with debug turned on in production! DEBUG = True ALLOWED_HOSTS = ["*"]
最後の行の ["*"] が変更点~
djangoでappのファイルを作成
python manage.py startapp app1
これで app1 というアプリのファイルができる、そして!
作ったファイル名を setting.py(appを作ったからかめっちゃ追加の分ができてる?)の INSTALLED_APPS = [] の中に書き込む~
""" Django settings for runzou_web_app project. Generated by 'django-admin startproject' using Django 4.0. For more information on this file, see https://docs.djangoproject.com/en/4.0/topics/settings/ For the full list of settings and their values, see https://docs.djangoproject.com/en/4.0/ref/settings/ """ from pathlib import Path # Build paths inside the project like this: BASE_DIR / 'subdir'. BASE_DIR = Path(__file__).resolve().parent.parent # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/4.0/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = 'django-insecure-$mv&vlgp8(j5&c+ge79b53m2jljvlze@h9emq9p9g*#l=g_ij+' # SECURITY WARNING: don't run with debug turned on in production! DEBUG = True ALLOWED_HOSTS = ["*"] # Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'app1' #これ ] MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] ROOT_URLCONF = 'runzou_web_app.urls' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ] WSGI_APPLICATION = 'runzou_web_app.wsgi.application' # Database # https://docs.djangoproject.com/en/4.0/ref/settings/#databases DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', } } # Password validation # https://docs.djangoproject.com/en/4.0/ref/settings/#auth-password-validators AUTH_PASSWORD_VALIDATORS = [ { 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', }, { 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', }, { 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', }, { 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', }, ] # Internationalization # https://docs.djangoproject.com/en/4.0/topics/i18n/ LANGUAGE_CODE = 'en-us' TIME_ZONE = 'UTC' USE_I18N = True USE_TZ = True # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/4.0/howto/static-files/ STATIC_URL = 'static/' # Default primary key field type # https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
これだけでは画面は変わらないようで、まだロケットの画面のまま~
HTMLとかのviewを追加する~
次は、app1フォルダの中に、 templatesというフォルダを作ってその中に index.html (トップページのファイル)を作ってとりあえずタイトルを記入!
<h1>Hello,Runzou</h1>
さらに、templatesを作ると何故か勝手に views.pyがあるのでそれをこんな感じに変更
from django.views.generic import TemplateView class IndexView(TemplateView): template_name = "index.html"
みてる人から入力を受け取って、みてる人にHTMLを返す、らしい
サイトにアクセスすると、このpythonコードが実行されて、
class IndexViewの "index.html"が 画面に表示される、
ということだと思う事にした(ぇ
urls.pyで view と URL を結びつける~
urls.pyをvies.pyと同じフォルダに新規作成して、(setting.pyの近くにも同じ名前のがあるので一番下の辺りから少しコピーして再利用)このように記入~
from django.urls import path from .views import IndexView urlpatterns = [ path('', IndexView.as_view()), ]
views.pyからIndexViewをimport して、
IndexViewで指定されているURLにアクセスするようになっている
ってことだと思う事にした(
最後に、settin.py近くの方の ulrs.pyの最後の文を少し変更する、
"""runzou_web_app URL Configuration The `urlpatterns` list routes URLs to views. For more information please see: https://docs.djangoproject.com/en/4.0/topics/http/urls/ Examples: Function views 1. Add an import: from my_app import views 2. Add a URL to urlpatterns: path('', views.home, name='home') Class-based views 1. Add an import: from other_app.views import Home 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') Including another URLconf 1. Import the include() function: from django.urls import include, path 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) """ from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path("", include("app1.urls")) ]
これで、OK~
そしてロケットの画面を更新すると!!
楽しそうなロケットの画面はなんと!
すごくつまらない文字だけの画面になりましたとさ!!
まとめ?
まず、サイトにアクセスすると最後に変更したsetting.pyと同じフォルダ内のurls.pyにアクセスする
↓
そして、そこでapp1内のurls.pyにアクセスするように命令される
↓
んで、そこでviewを読み込むように命令されて、
↓
views.pyでは index.htmlを表示させるように命令されてその結果
↓
index.htmlで書いたものが表示されるらしい
遠回りすぎだろおおおおおおおおおおお
これをしているだけでも頭こんがらがらがらがらがりそうでした
寝る
ポートフォリオが ない
こんにちは、runzouです。
テックアカデミーのPython+AI+データサイエンスセットを 終わったのはいいのですが
ポートフォリオ(製作物?)がないので何を作ろうかと迷っています。
そして思いつきで今日試すのは
pythonでwebアプリを作っていこうと思いました。理由は、、
大体PC使うときはChrome使ってるだろってことでとりあえず、、
Flaskと jinja2 を使用して適当に作ってみようと思う~
しかしだ、モチベーションが 紙のようにペラペラだ!助けてほしい
まずは
ds_env(python用に作った仮想環境)の中に
Flask をインストールしました、
その後に、jinja2もインストールしました。
(ってまあ動画の通りやるだけなんだけど)
とりあえず、次は動画の通りに(あ
フォルダ構成通りにフォルダとファイルを作っておきました。
こういう構成は作りながらやるのか、最初から作ってるのかわからないですね気になる、、人によるのかな、、
この templatesファイルの名前は変えてはいけない、らしい~
まずはHTMLでトップ画面を作る~
と最終的にファイル名とかも色々変えて(丸写し)
こんな感じになりました
htmlはすこーし触ったことあるのでなんとなくやってることわかるんですが、
pythonファイルの方は 何やってんのかさっぱりわかりませんね、
テックアカデミーってなんだったんだろ()死滅
次はターミナルから作ったこれらを呼び出してGoogle Chromeで表示する
をチャレンジ
ますますよくわからないけどこのようにしてターミナルに入力することでFlaskアプリを環境変数に一時的に設定、するらしい
その後は flask run
と命令すると実行されるらしいが、エラーが出たあああああああああ
さてどうしてくれようか
Error: Failed to find Flask application or factory in module 'flaskr'. Use 'FLASK_APP=flaskr:name' to specify one.
エラー: モジュール 'flaskr' で Flask アプリケーションまたはファクトリが見つかりませんでした。 'FLASK_APP=flaskr:name' を使用して指定します。
となったので、
flaskr:main.py とか
flaskr:"main.py" にしてみたけど
ダメだった どうしよう
とりあえず 寝る
朝起きたら意外と簡単に解決することがあるので
チャレンジしてみたけどやっぱダメだったので
Qiitaで質問しました 解決するかな、、、、
[Q&A] python webアプリ作成 Flask - Qiita
〜次回に続く かどうかはわからない〜
2022年 3月〜8月 のお話
こんにちは、Runzou です。
ここ最近はとても忙しいことが続いてブログのことをすっかり忘れていましたが、少し区切りがついたので書こうと思う。
最後に書いたものが3月くらいなのでその頃と比べるとだいぶ色々変化したが、無職なのは なんと 変わらないwwww
3〜8月でやったことの目次
1 . バンド
確か、3月初め頃だったような終わり頃だったような、、
ここに18歳くらいの頃に登録してなんもしてなかったんですが、配信に来てくれてた人と話してて、ふと思い出し、自分のプロフィールを更新。
すると、キーボーディストを探していたようで、割とすぐ声をかけてくれて即座に参加させてもらった!(すっごいドキドキして、初のスタジオ練習では本物のドラムの音にビクビクしてましたw)
4月は静岡
場所:LIVEHOUSE UHU – Land of Music !
5月は藤枝
6月は浜松
と ライブに参加させてもらった!
高校くらいの頃から、バンドには憧れていて舞台にたちたかったので
夢が叶ってよかった〜
しかし、何か違うと虚しさを感じそれを相談してみたら、、
解散してしまった!、、いや、自分からやめたんだな、
説明が難しいぞwwwwww
しかし、バンドリーダとは 今もたまに電話で話したりします。
彼の曲は結構聴きやすくて、なかなか心に残りますのでぜひ聞いてみてね!?
もしかして本人が消すかなあ、でも残しておいてほしい!
この曲たちをライブで演奏して、なかなか盛り上がったな〜
ここにないのもあるから、アップしてほしいな〜w
しかし、いい経験だった!
ライブ映像もあるけど、ここには貼らないぞおw
恥ずかしいからなああああああああああああああ
2.Youtube
バンドを誘ってくれたリーダーが、政治的なyoutubeチャンネルを一緒にやろう、と誘ってくれました!
政治にはあまり興味がないのだが、Youtubeチャンネルには興味があったので参加させてもらった。
リーダーは本格的に照明などを用意してくれて、私の家で撮影を行い、
コヤッキースタジオ的な感じで政治について彼が語り、私が疑問を投げかける的なスタイルでやってみたけど、
家庭の事情?で撤退させていただいたw(詳しくは、、、また記事にしようかな?w
私が参加していたチャンネルはこちら!↓↓
ぜひ見てみてね!
3.テックアカデミー
これは高校くらいから興味があったプログラミングについて、がっつり学んでしまえと思って、2月後半頃に申し込みました。
プログラム :Python+AI+データサイエンスセット 第144期(2022/03/14〜2022/08/28)
プラン :社会人プラン【24週間】
入金期限 :2022/02/08 (火)
■学費詳細
学費(税別) :479,000円
割引 :-23,950円(先割)
消費税 :45,505円
合計(税込み):500,555円
という自分の中では膨大な金額をかけて挑んでみた!
基本的にはブログのような感じで色々な項目が書いてあって、それを丸写しして実行してなるほどぉってなって、自分なりにちょっと変えたりして遊んでなるほどぉってなる
そしてそれぞれの記事の最後に課題があって、(例えば"Hello World"って出力させよう〜みたいな)提出をする、合格もらったらOKみたいな感じでした。
あとは、週に2回メンタリングという学習を先生に報告したり質問したり、解説してもらったりする というものがあり、それに向けて主に進めるという感じです。
これは本当に自分が馬鹿だなと思ったところで、
プログラミングと言ったらアプリを作ったり、ホームページというイメージだったのですが、やってみたら なんか違うぞという感じでした!
何が違うって、作る、というよりは調べる?という感じだった。(データ分析?みたいのがメインなので)
でもなかなか楽しかったのでこれからも遊び程度にやろうかな、、、?w
まぁ一番楽しいのはキーボードで文字を打ってる時だよねwwww()
さらに馬鹿なのは!
自分が住んでいるのが静岡の田舎なので求人がほとんどないということ!w
いやー失敗したねwwwwwwwwww爆発
でも、最後のメンタリングで色々ヒントが聞けたのでそこはよかったかも、、
Qiitaというのもはじめました。
テックアカデミーで質問すると即返答が返ってくるんですが、記事にしたりとかもしてみたかったので書いたりしてみました。
ライナあれぐれっしょん! 豪ドルでやろかっと - Qiita
これ以外の投稿は全て質問だった・・・w
666.まとめ
ということで今後の方針はですね、(急に)
バイト、もしくは派遣で働く
休みの日にデータ分析をする、これらのサイトを使用
そして1ヶ月に1つブログで記事を書き、
勉強会に参加(これもメンタリングで教えてもらった)
勉強会に参加する理由は、学んだプログラミングを生かす職場を探すためです。
あとは、新しい情報を得ることを忘れないようにすること。
とりあえず独立して新しいことをやるとか思い切ったことをしようとかは
自分には向いてないことがここ半年くらいでわかったので、、
ぼちぼちやってこっと、、、、
尻
ここまでの、経過ですプログラミングで勉強ででで使ったもの
ああ、もう大きい方間に合わないんじゃないかな!
実は、個人事業は廃業しました。2022/1/28 だったと思う。
そして失業保険をもらう手続きをして、何しようかなと色々ネットを漁ったら
こんなものが!
このHPの少し下の
第4次産業革命スキル習得講座一覧ってなんだと思い
へぇ はあ ほお ご、ごじゅうまんち・・・・
あ。
わーい、3月からだが、それまで遊んで50万など払えないくらいの借金をしようと思う、なう。