Python | ティア https://tiero.jp/magazine グローバル人材向けマガジン Mon, 02 Nov 2020 13:13:45 +0000 ja hourly 1 https://wordpress.org/?v=6.4.3 https://tiero.jp/magazine/wp-content/uploads/2019/02/cropped-cropped-favicon-32x32.png Python | ティア https://tiero.jp/magazine 32 32 Django モデルに画像アップロードしてフロントに反映されるまでの手順 https://tiero.jp/magazine/models-images-settings/ Mon, 02 Nov 2020 11:27:52 +0000 https://tiero.jp/magazine/?p=3595 Djangoのmodels.pyに画像をアップロードできるように設定し、ブラウザからフロントで画像が表示されるための手順を解説します。 Contents 1. models.pyに追記2. settings.pyに追記3 …

The post Django モデルに画像アップロードしてフロントに反映されるまでの手順 first appeared on ティア.]]>
Djangoのmodels.pyに画像をアップロードできるように設定し、ブラウザからフロントで画像が表示されるための手順を解説します。

1. models.pyに追記

モデルが作られるとプロジェクトフォルダ直下にmediaというフォルダが自動生成され、当該フォルダに画像が保存されるための準備です。

image = models.ImageField(upload_to='media/')

2. settings.pyに追記

settings.pyの最後に以下を追記します。

STATIC_URL = '/static/'
MEDIA_URL = '/pics/'
MEDIA_ROOT = BASE_DIR

3. urls.pyに追記

urls.pyの最後に+以降のコードをタイプします。

urlpatterns = [
    path('', views.index, name='index'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

以上で完了です。

The post Django モデルに画像アップロードしてフロントに反映されるまでの手順 first appeared on ティア.]]>
Pycharm ショートカット一覧 https://tiero.jp/magazine/pycharm-shorcut-list/ Wed, 28 Oct 2020 06:13:20 +0000 https://tiero.jp/magazine/?p=3544 Pycharmのショートカット一覧になります。よく使う便利なものはハイライトしています。 Contents 編集実行ナビゲーション検索/置換リファクタリングVCS/ローカル・ヒストリー ライブ・テンプレート一般編集 Ct …

The post Pycharm ショートカット一覧 first appeared on ティア.]]>
Pycharmのショートカット一覧になります。よく使う便利なものはハイライトしています。

編集

Ctrl + Space 基本コード補完 (任意のクラス, メソッド, 変数の名前)
Ctrl + Alt + Space クラス名の補完 (現在のインポートとは独立したプロジェクトクラスの名前)
Ctrl + Shift + Enter ステートメントの補完
Ctrl + P パラメーター情報 (メソッド呼び出しの引数内)
Ctrl + Q クイック・ドキュメント・ルックアップ
Shift + F1 外部ドキュメント
Ctrl + マウス移動  簡易情報
Ctrl + F1 キャレット上のエラーまたは警告の説明を表示
Alt + Insert コードの生成
Ctrl + O メソッドのオーバーライド
Ctrl + O メソッドのオーバーライド
Ctrl + Alt + T 囲む…
Ctrl + / 行コメントのコメント化/コメント解除
Ctrl + Shift + / ブロック・コメントのコメント化/コメント解除
Ctrl + W コード・ブロックを連続的に広げて選択
Ctrl + Shift + W 現在の選択を前の状態に縮小
Ctrl + Shift + ] コード・ブロックの最後まで選択
Ctrl + Shift + [ コード・ブロックの先頭まで選択
Alt + Enter インテンション・アクションおよびクイックフィックスの表示
Ctrl + Alt + L コードの再フォーマット
Ctrl + Alt + O インポートの再編成
Ctrl + Alt + I 行の自動インデント
Tab 選択行のインデント
Shift + Tab 選択行のインデント解除
Ctrl + X ,
Shift + Delete
現在の行または選択ブロックをクリップボードに切り取り
Ctrl + C ,
Ctrl + Insert
 現在の行または選択ブロックをクリップボードにコピー
Ctrl + V ,
Shift + Insert
クリップボードから貼り付け
Ctrl + Shift + V 最近使用したバッファーから貼り付け
Ctrl + D 現在の行または選択したブロックを複製
Ctrl + Y キャレット位置の行を削除
Ctrl + Shift + J スマート行結合
Ctrl + Enter スマート行分割
Shift + Enter 新しい行の開始
Ctrl + Shift + U キャレットまたは選択したブロックで単語の大/小文字を切り替え
Ctrl + Delete 文字の最後まで削除
Ctrl + Backspace 文字の先頭まで削除
Ctrl + NumPad+ コード・ブロックの展開
Ctrl + NumPad- コード・ブロックの縮小
Ctrl + Shift + NumPad+ すべて展開
Ctrl + Shift + NumPad- すべて縮小
Ctrl + F4  アクティブなエディター・タブを閉じる

実行

Alt + Shift + F10 構成を選択して実行
Alt + Shift + F9 構成を選択してデバッグ
Shift + F10 実行
Shift + F9 デバッグ
Ctrl + Shift + F10 エディターからコンテキスト構成を実行
Ctrl + Alt + R manage.py タスクの実行デバッグ
F8 / F7 ステップ・オーバー/イン
Shift + F8 ステップ・アウト
Alt + F9 カーソルまで実行
Alt + F8 式の評価
Ctrl + Alt + F8 式のクイック評価
F9 プログラムの再開
Ctrl + F8 ブレークポイントの切り替え
Ctrl + Shift + F8 ブレークポイントの表示

ナビゲーション

Ctrl + N クラスに移動
Ctrl + Shift + N ファイルに移動
Ctrl + Alt + Shift + N シンボルに移動
Alt + Right 次のエディター・タブに移動
Alt + Left 前のエディター・タブに移動
F12 前のツール・ウィンドウに戻る
Esc エディターの移動 (ツール・ウィンドウから)
Shift + Esc アクティブまたは最後のアクティブなウィンドウを隠す
Ctrl + Shift + F4 アクティブな実行/メッセージ/検索/…タブを閉じる
Ctrl + G 指定行に移動
Ctrl + E 最近使用したファイルのポップアップ
Ctrl + Alt + Right 次に進む
Ctrl + Alt + Left 前に戻る
Ctrl + Shift + Backspace 最後に編集したロケーションにナビゲート
Alt + F1 任意のビューで現在のファイルまたはシンボルを選択
Ctrl + B ,
Ctrl + Click
宣言に移動
Ctrl + Alt + B 実装に移動
Ctrl + Shift + I クイック定義ルックアップを開く
Ctrl + Shift + B 型宣言に移動
Ctrl + U スーパーメソッド/スーパークラスに移動
Alt + Up / Down 前/次のメソッドに移動
Ctrl + ] / [ コード・ブロックの最後/最初に移動
Ctrl + F12 ファイル構造のポップアップ
Ctrl + H 型階層
Ctrl + Shift + H メソッド階層
Ctrl + Alt + H 呼び出し階層
F2 / Shift + F2 次/前の強調表示されたエラー
F4 ソースの編集
Ctrl + Enter ソースの表示
Alt + Home ナビゲーション・バーの表示
F11 ブックマークの切り替え
Ctrl + Shift + F11 ブックマークの切り替え (ニーモニック付き)
Ctrl + #[0-9] 番号付きのブックマークに移動
Shift + F11 ブックマークの表示

検索/置換

Ctrl + F / Ctrl + R 検索/置換
F3 / Shift + F3 次/前の検索
Ctrl + Shift + F パス内検索
Ctrl + Shift + R パス内置換
Alt + F7 / Ctrl + F7 使用箇所検索/ ファイル内の使用箇所を検索
Ctrl + Shift + F7 ファイル内の使用箇所を強調表示
Ctrl + Alt + F7 使用箇所の表示

リファクタリング

F5 / F6 コピー / 移動
Alt + Delete 安全な削除
Shift + F6 名前変更
Ctrl + F6 シグニチャーの変更
Ctrl + Alt + N インライン化
Ctrl + Alt + M メソッドの抽出
Ctrl + Alt + V 変数の導入
Ctrl + Alt + F フィールドの導入
Ctrl + Alt + C 定数の抽出
Ctrl + Alt + P パラメーターの導入

VCS/ローカル・ヒストリー

Ctrl + K  VCS にプロジェクトをコミット
Ctrl + T  VCS からプロジェクトを更新
Alt + Shift + C 最近の変更を表示
Alt + BackQuote (`) ‘VCS’ クイック・ポップアップ

 ライブ・テンプレート

Ctrl + Alt + J ライブ・テンプレートで囲む
Ctrl + J ライブ・テンプレートの挿入

一般

Alt + #[0-9] 対応するツール・ウィンドウを開く
Ctrl + S すべて保管
Ctrl + Alt + Y 同期化
Ctrl + Shift + F12 エディター最大化の切り替え
Alt + Shift + F お気に入りに追加
Alt + Shift + I 現在のプロファイルで現在のファイルを検査
Ctrl + BackQuote (`) 現在のスキームをクイック切り替え
Ctrl + Alt + S 設定ダイアログを開く
Ctrl + Shift + A アクションの検索
Ctrl + Tab タブおよびツール・ウィンドウの切り替え

source: pycharm website

The post Pycharm ショートカット一覧 first appeared on ティア.]]>
Django dynamic urlsでのurl設定の注意点 https://tiero.jp/magazine/django-dynamic-urls/ Tue, 27 Oct 2020 08:54:13 +0000 https://tiero.jp/magazine/?p=3532 Djangoのダイナミックurlを使おうとしてReverse云々のエラーになったときに、気を付けたいポイントが、アプリのurls.pyに名前空間をしていないかどうか確認してみましょう。もし名前空間を指定している場合は、通 …

The post Django dynamic urlsでのurl設定の注意点 first appeared on ティア.]]>
Djangoのダイナミックurlを使おうとしてReverse云々のエラーになったときに、気を付けたいポイントが、アプリのurls.pyに名前空間をしていないかどうか確認してみましょう。もし名前空間を指定している場合は、通常の{% url ‘xyz’ %}ではなく、{% url ‘名前空間: xyz’ %}と指定する必要があります。気を付けましょう。

例 – 名前空間がabcの場合: {% url ‘abc: xyz’ %}

The post Django dynamic urlsでのurl設定の注意点 first appeared on ティア.]]>
Python 条件分岐 – if文の使い方とサンプルコード https://tiero.jp/magazine/python-if/ Sun, 27 Sep 2020 09:04:18 +0000 http://tiero.jp/magazine/?p=2254 プログラミングには制御構文の代名詞でもある条件分岐。今回はPythonで条件分岐であるif文を学びましょう。 Contents 条件分岐とは?ifの基本構文テストの点数でメッセージを変える場合:特定の値が含まれているかど …

The post Python 条件分岐 – if文の使い方とサンプルコード first appeared on ティア.]]>
プログラミングには制御構文の代名詞でもある条件分岐。今回はPythonで条件分岐であるif文を学びましょう。

条件分岐とは?

条件分岐は言葉だけだと難しく聞こえますが、読んで字のごとく、単に条件によって分かれる境目を指します。もっと簡単に言えば、「もし、○○なら、xx」の構図だと考えましょう。

ifの基本構文

まず冒頭にifと記述し、条件式、コロン(:)、インデントして命令文を書きます。ifの条件に当てはまらない場合を記述する際は、ifと同じレイヤーでelse、コロンと書き、インデントして命令文を書きます。

if 条件式:
    命令文
else:
    命令文

様々なサンプルを見た方が理解が早いので、以下ざっと例を書きました。それぞれ確認していきましょう。

テストの点数でメッセージを変える場合:

score = 30
if score >= 80:
    print('素晴らしい!')
else:
    print('勉強が全てではないよ(^^)')


勉強が全てではないよ(^^)

この例では、変数score(=点数と見立てている)の値が80以上の場合、「素晴らしい!」と表示させ、そうでない場合は「勉強が全てではないよ(^^)」と表示させるプログラムです。

次は、分岐点を今度は3つにしたい場合の例です。その場合には、elifを使用します。

score = 60
if score >= 80:
    print('素晴らしい!')
elif score >= 50:
    print('よく頑張りました!')
else:
    print('勉強が全てではないよ(^^)')

よく頑張りました!

elifの使い方はifの場合と同じです。 elifと書いたら条件式を記述し、コロン。インデントとして命令文です。上記のケースでは、80点以上は「素晴らしい!」、50点以上は「よく頑張りました!」、それ以外、つまり0から49点は、「勉強が全てではないよ(^^)」と表示させるプログラムです。

特定の値が含まれているかどうか

例えば特定のリストの中にある値が含まれていれば○○というプログラムを作りたい場合はこうなります。

food = ['タピオカ', 'たこ焼き', '鯛焼き','卵']
trend = 'タピオカ'
junk = 'ハンバーガー'

if trend in food:
    print('トレンド商品がラインナップされています。')

if not junk in food:
    print('ジャンクフードがラインナップされていません。')


トレンド商品がラインナップされています。
ジャンクフードがラインナップされていません。

例えば商品ラインナップ変数foodに現在取り扱っているフードメニューがあるとします。また、トレンド商品としてタピオカ、ジャンクフードとしてハンバーガーが設定されているとします。一つ目のif関数は変数foodの中にtrend変数のタピオカが含まれていれば、「トレンド商品がラインナップされています。」と表示せよという命令文です。

2つ目のif関数は、変数foodの中にjunk変数のハンバーガーが含まれていなければ、「ジャンクフードがラインナップされていません。」と表示せよという命令文です。いかがでしょうか、そんなに難しくはないですよね。

何か入っていればTrueを返す

また、何か変数の中に入っていればとりあえずTrueと返すif文が次の例です。

something = 'あるよ'
if something:
    print('あるね')
else:
    print('ないね')


あるね

これを次の通り、notで表現すると、「何も入っていなかったら」という条件になるので、elseを返します。

something = 'あるよ'
if not something:
    print('あるね')
else:
    print('ないね')

ないね

比較演算子と論理演算子

ここで条件式のバリエーションを増やすために、比較演算子と論理演算子について理解を深めましょう。

比較演算子

中学生の頃に習ったあれです。

種類 記号
等しい ==
等しくない !=
>
未満 <
以上 >=
以下 <=
含む in

論理演算子

同様に中学で習ったベン図ですね。

種類 記号+例 返り値
aもbも満たす  a and b  True もしくは False
a または bを満たす a or b  True もしくは False
aを満たさない not a  True もしくは False

if関数で論理演算子を用いた際の文脈では、TrueもしくはFalseの場合に命令文が実行されるという構図です。

The post Python 条件分岐 – if文の使い方とサンプルコード first appeared on ティア.]]>
Pythonメモ:while文のサンプルコード https://tiero.jp/magazine/python-while/ Sun, 27 Sep 2020 07:39:18 +0000 http://tiero.jp/magazine/?p=2485 繰り返し処理はfor文と今回のwhile文があります。それでは早速while文について学習していきましょう。 Contents whileの基本構文while+else文の使い方whileの基本構文 まず冒頭にwhill …

The post Pythonメモ:while文のサンプルコード first appeared on ティア.]]>
繰り返し処理はfor文と今回のwhile文があります。それでは早速while文について学習していきましょう。

whileの基本構文

まず冒頭にwhilleと記述し、条件式、コロン(:)、インデントして命令文を書きます。

while 条件式:
    命令文

具体例があった方がわかりやすいので早速サンプルコードをみてみましょう。

num = 0
while num < 10:
    print(num)
    num += 1

0
1
2
3
4
5
6
7
8
9

変数numには0を入れています。while文の条件式は、numの値が10未満の場合、としています。その場合に何をするか、命令文の箇所に、当該numの値を表示(print)せよと言っている訳です。
最後に+= 1となりますが、これは次と同じ意味です。

num + 1 = num

つまり、0スタートの場合、0 + 1 = 1 になります。そして、冒頭のwhileに戻ります。すると1ですので、まだ条件を満たしています。条件を満たしている限りは命令文を繰り返すという構造になります。

while+else文の使い方

では、else文と合わせて確認してみましょう。

num = 0
ttl = 0
while num < 10:
    print(num)
    num += 1
    ttl += num
else:
    print(ttl)

0
1
2
3
4
5
6
7
8
9
55

elseで何かしら表示するために、今度はnumの値を順次合算する合計値を変数ttlとして作成し、while文の命令文でもttl += num、つまり ttl = ttl + numとして計算しています。whileの条件式を見たなさい場合に、elseの命令文が呼び出されることになり、whileのループを抜けた9の次は0から9までの合計値である55が表示された形になります。

The post Pythonメモ:while文のサンプルコード first appeared on ティア.]]>
Python: リスト・タプル・辞書の使い方 https://tiero.jp/magazine/python-list-tuple-dic/ Sat, 26 Sep 2020 15:52:38 +0000 https://tiero.jp/magazine/?p=3426 複数の値を一つの変数で管理できるリスト、タプル、辞書の使い方を学習します。 Contents list(リスト)とは?tuple(タプル)とは?dict(辞書)とは?list(リスト)とは? 変数には一つだけでなく複数の …

The post Python: リスト・タプル・辞書の使い方 first appeared on ティア.]]>
複数の値を一つの変数で管理できるリスト、タプル、辞書の使い方を学習します。

list(リスト)とは?

変数には一つだけでなく複数の値を入れることができます。まずは一番スタンダードなListで実際に例を見てみましょう。まずは変数に一つ入れる場合です。

>>> a = 1
>>> print (a)
1

これはわかりますよね。では複数入れる場合はどうなるでしょうか。

>>> a = [1, 2]
>>> print(a)
[1, 2]

このように、カッコの中に、カンマで区切って値を入れることで、ひとつの変数に複数の値を入れることができます。そしてここでのカッコは角カッコですね。角カッコ=リストと覚えましょう。それでは、上記のケースで例えば2番目にある2を取り出したいときはどうすればいいでしょうか。以下のように打ちます。

>>> print(a[1])
2

1番目は0で左から順番にインデックスされます。そのため、人間の目から見て2番目にある2の値はリストでは1になります。変数+角カッコでカッコの中には1を入れることで呼び出すことができます(a[1])。これは、タプルにおいても共通です。ここでは主な呼び出しの操作を把握しておきましょう。

目的 コード
一番最初の値の抜き出し a[0]
途中の値の抜き出し a[任意の数字]
一番最後の値の抜き出し a[-1]
一番最初の値以外すべて a[1:]
一番の値最後以外すべて a[:-1]

リストのサンプルコード

tuple(タプル)とは?

それでは続いてタプルです。

>>> a = (1,2)
>>> print(a)
(1, 2)

見た目はほぼリストと同じですが違うのは丸カッコになっています。但し、タプルの場合はカッコ内の値を変更することができません。その違いだけです。

dict(辞書)とは?

続いて辞書のサンプルコードを見てみましょう。

>>> a= {"x":1, "y":2}
>>> print(a)
{'x': 1, 'y': 2}

辞書は少し構造的に見た目が違いますね。辞書は中に入れる値それぞれにラベルを付けることができます。上記のケースでは、ラベルxの値は1、ラベルyの値は2になります。例えばyを呼び出し時は以下のようにコーディングします。

>>> print(a["y"])
2

以上、リスト・タプル・辞書の使い方でした。まずは基本を一通り理解することから始めましょう。

The post Python: リスト・タプル・辞書の使い方 first appeared on ティア.]]>
PyChramのインストール方法と環境設定 https://tiero.jp/magazine/pychram-install/ Thu, 24 Sep 2020 11:17:49 +0000 https://tiero.jp/magazine/?p=3354 Pycharmのインストール方法とプロジェクトの環境設定の方法を説明します。プログラミングのエディターは色々ありますが、ことPythonになるとやはりPyCharmですよね。ではさっそくpyCharmのインストール方法を …

The post PyChramのインストール方法と環境設定 first appeared on ティア.]]>
Pycharmのインストール方法とプロジェクトの環境設定の方法を説明します。プログラミングのエディターは色々ありますが、ことPythonになるとやはりPyCharmですよね。ではさっそくpyCharmのインストール方法をみていきましょう。尚、こちらはanacondaでpythonをダウンロードした前提になります。とはいえ、anacondaでダウンロードしていなくても方法はわかると思います。

1. PyChramのインストール方法

PyCharmはJetBrainsという会社が開発したエディターです。まずはJetBrains社のサイトのpyCharmのダウンロードができるページにアクセスします。
JetBrains公式サイト

ダウンロード画面では自分のOSに合わせて自動でダウンロードタブが開かれます。私はwindowsなので、ダウンロードページにアクセスすると以下がデフォルトページになります。ここで”Professional” 下にある青色のダウンロードボタンをクリックします。尚、無料版をしばらく使いたい方は、コミュニティの黒のダウンロードボタンをクリックしましょう。

ダウンロードが完了したら下の画面がポップ表示されるのでNextをクリックします。

インストール先のフォルダ設定画面が表示されるのでデフォルトのままNextをクリックします。

オプション画面に遷移します。ここは後で必要時設定すればいいのでNextでOKです。

スタートメニューのフォルダ設定画面です。デフォルトのままInstallをクリックします。

これでインストール完了です。
“Run PyCharm”にチェックをいれてFinishをクリックし、PyCharmを立ち上げます。

使用許諾の画面に映るので問題なければチェックを入れてContinueをクリックします。

データ共有の許諾です。ご自身のポリシーに従いどちらでもよいのでクリックしましょう。

PyCharmのカスタマイズ画面になるので、まずは好みのユーザーインターフェースを選択し、Nextをクリックします。

ここは必要がなければそのままStart using PyCharmをクリックします。

ここでは既に契約済み前提で、Activate PyCharm及びGet license fromではJB accountにチェックを入れてメールアドレスとパスワードをいれて、”Activate”をクリックします。

無事ログインできるとwindowsがファイアウォールがらみでポップ表示するので「アクセスを許可する」をクリックしましょう。

これでPyCharmのインストールが完了しました。無事こちらのPyCharmのトップ画面が表示されれば成功です。

2. PyChramの環境設定

続いて、環境設定です。先ほどの直前のPyCharmのトップ画面から「+ New Project」をクリックするとプロジェクト環境設定画面がポップ表示されます。デフォルトで設定されている左サイドメニューのPure Pythonはそのままです。ライブラリ間の干渉によるトラブル回避等のために仮想環境を構築したい場合はデフォルトで設定されている”New environment using Virtualenv”のままチェックを入れておきます。もし、いろいろなライブラリを駆使してといった場合でないなら”Existing interpreter”をチェックしましょう。ここでは仮想環境前提で進めます。さて、デフォルトのままCreateをクリックすると”Python was not found but can be installed from the Microsoft Store”というエラーが発生します。そなぜかというとベースのBase interpreterのデフォルトのpathですが、そのpathにインストールしたpythonがないからです。そのため、赤枠右側の「…」マークをクリックします。

次のようなポップ表示がされるので、ここからAnacondaでダウンロードしたpython.exeがある場所へとフォルダをクリックしていきます。

フォルダをクリックするとした図のように先ほどのpathの部分に表示されるので、OKをクリックします。

そうすると先ほどのプロジェクト設定画面に戻り、pathが変わっていることがわかります。
それではCreateをクリックしてみましょう。

下の画面が出てきましたら無事完了です。

The post PyChramのインストール方法と環境設定 first appeared on ティア.]]>
AnacondaでPythonをインストールする方法 https://tiero.jp/magazine/anaconda-python-install/ Thu, 24 Sep 2020 10:13:57 +0000 https://tiero.jp/magazine/?p=3323 PythonをAnacondaを使ってインストールする方法を解説しています。Pythonをインストールするときに面倒なのがpathを通したりといった実行環境の設定であり、ともすれば、実行環境の面倒な設定により断念しがちで …

The post AnacondaでPythonをインストールする方法 first appeared on ティア.]]>
PythonをAnacondaを使ってインストールする方法を解説しています。Pythonをインストールするときに面倒なのがpathを通したりといった実行環境の設定であり、ともすれば、実行環境の面倒な設定により断念しがちです。そんな面倒くさいプロセスが不要で、かつメジャーなpythonのライブラリも入れてくれる有名なAnacondaを使用します。ダウンロード等の時間を除けば実質の作業時間は数分程度です。それでは早速みていきましょう。

Anacondaの公式サイトにアクセス

まずはAnacondaの公式サイトにアクセスして、最新版のパッケージをダウンロードします。
Anaconda公式サイト

画面一番下までスクロールダウンすると以下インストーラーが紹介されていますので、自分のOSのバージョンを確認してダウンロードします。私の場合はsurface pro 7なのでwindowsの64bitです。

尚、自分のPCのバージョンがわからない場合は、windowsの場合は左下の検索ボックスに「バージョン」と入力すると自動で「32ビットと64ビットのどちらのバージョンのwindowか確かめる」が候補として表示されるのでクリックしましょう。そうすると「システムの種類」と記載のある個所にビット数が書かれています。今どきのPCであれば大半は64ビットかなと思います。

Anacondaを起動しインストール

ダウンロードが完了したらさっそくダウンロードしたファイルを立ち上げます。

次の画面がでてきますので、Nextをクリックします。

次の画面では、以下が表示されるので I Agree(同意する)をクリックします。

次の画面では、誰向けのインストールかと聞かれるので任意ですが、基本はjust meを選択してNextをクリックします。

次の画面ではインストール先のフォルダを聞かれるのでデフォルトのままNextをクリックしましょう。

次にオプションで2点確認されるので、両方ともチェックいれてInstallをクリックしましょう。尚、1つ目にはNot recommended(非推奨)と書いてありますが、問題ありませんのでチェックを入れましょう。

あとはインストールされるので完了したらNextをクリックします。

次の画面が表示されるのでNextをクリックします。Pycharmどうですか?という広告なのでここでは無視しましょう。とはいえ「python=エディターはpycharm」というのは間違いないでしょう。私も基本はpycharmを利用しています。pycharmのインストールおよび環境構築設定方法関してはこちらの記事にまとめましたので必要時はご参照ください。

さてこれですべて完了です。最後に表示される以下画面ではanacondaに関するチュートリアル、マニュアルみますかという内容なのでチェックせずにFinishをクリックして完了です。

Anaconda promptで確認

無事インストールできたか確認しましょう。windowsでは左下の検索ボックスに”anaconda prompt”を入力すると自動候補表示でAnaconda Prompt (anaconda3)と表示されるのでクリックします。

さて、黒画面が表示されるので、まずは1行目にあるように、「python –version」と入力してエンターしましょう。python3.8.3と表示されていればOKです(インストール時期によってバージョンの数字は変わります)

実際に、pythonを起動してみます。方法は簡単。pythonと入力してエンターします。そうすると「>>>」と表示されるのでこれで対話型の実行環境が整っています。試しに3+2と入力してエンターすると5と表示されていますね。その下では、hello, worldと表示させるためにprint関数でhello worldを呼び出しています。ちゃんとhello worldと表示されていますね。最後に辞めたいときはどうするかというと、Windowsでは、Ctrl+Zを抜け出せます。これで無事pythonが実行できる環境になりました。おめでとうございます(^^)

次はエディター: PyCharmのインストール&環境設定方法

前述したPythonの最強エディターPyCharmのインストールおよび環境構築設定方法も纏めてありますので必要時は適宜ご参照ください。

記事はこちらThe post AnacondaでPythonをインストールする方法 first appeared on ティア.]]>
Python: f-stringsの使い方・サンプルコード https://tiero.jp/magazine/python-fstrings/ Tue, 22 Sep 2020 09:23:03 +0000 https://tiero.jp/magazine/?p=3299 ある文字列に{}を用いて文字列を制御するf-string(フォーマット済み文字列リテラル)について学習しましょう。f-stringは説明がややこしいのですが、例をみればすぐ理解できます。 >>> a = …

The post Python: f-stringsの使い方・サンプルコード first appeared on ティア.]]>
ある文字列に{}を用いて文字列を制御するf-string(フォーマット済み文字列リテラル)について学習しましょう。f-stringは説明がややこしいのですが、例をみればすぐ理解できます。

>>> a = 'こんにちは'
>>> print(f'{a}、お元気ですか?')
こんにちは、お元気ですか?

例えば、朝昼夜等の時間に応じてあいさつ文を変えたい場合に、共通の「お元気ですか?」は固定して、その前に、「おはようございます」や「こんにちは」、「こんばんは」を入れたい場合、ベタ打ちでそれらを記述すのではなく、対象文字列の冒頭にfをいれて文字列全体を”で囲み、差し込みたい場所に{}を入れ、{}の中に変数名をいれる、それだけです。例えばECだと以下のサンプルはイメージしやすいかもしれないですね。こんな表現もできるわけです。

>>> product,price,inv='革財布','9,800円',3
>>> print(f'商品名:{product} \n価格:{price} \n在庫数量:{inv}')
商品名:革財布
価格:9,800円
在庫数量:3
The post Python: f-stringsの使い方・サンプルコード first appeared on ティア.]]>
Djangoメモ:サインアップフォームの作成 https://tiero.jp/magazine/django-signup/ Mon, 07 Sep 2020 05:30:30 +0000 https://tiero.jp/magazine/?p=3122 前提: Djangoにてアプリまで作成済み(本ケースのアプリはtodo) Contents 1.  urls.pyに再ナップフォームのURLを追加2.  viewsにsignupuser関数を作成3.  テンプレートフォ …

The post Djangoメモ:サインアップフォームの作成 first appeared on ティア.]]>
前提: Djangoにてアプリまで作成済み(本ケースのアプリはtodo)

1.  urls.pyに再ナップフォームのURLを追加

from django.contrib import admin
from django.urls import path
from todo import views #2

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

    path('signup/', views.signupuser, name='signupuser'), #1
   path('current/', views.currentodos, name='currenttodos'), #3

]

#1 まずpathを追加します。
第一引数はURLの指定、第二引数はviewsの関数を指定、第三引数は今回設定したpathに名前をつけています。
ポイントとして第二引数のviews.以降のsignupuserはこの後作るのですが先に指定します。

#2 viewsから関数を引っ張ってくる指定をしたので、todoアプリのviewsをインポートします。

#3 ここではtodoをケースにしていますが、要はサインアップフォームした後にリダイレクトしたいページのURLを作成しています。

2.  viewsにsignupuser関数を作成

from django.shortcuts import render, redirect #0 
from django.contrib.auth.forms import UserCreationForm #1
from django.contrib.auth.models import User #2
from django.db import IntegrityError #3
from django.contrib.auth import login #4

def signupuser(request): #5
    if request.method=='GET': #6
        return render(request, 'todo/signupuser.html', {'form': UserCreationForm()}) #7
    else: #8
        if request.POST['password1'] == request.POST['password2']: #)9
            try: #10
                user = User.objects.create_user(request.POST['username'], password=request.POST['password1']) #11
                user.save() #12
                login(request, user) #13
                return redirect('currenttodos') #14
            except IntegrityError: #15
                return render(request, 'todo/signupuser.html',{'form': UserCreationForm(), 'error': 'Try again.'}) #16
        else:#17
            return render(request, 'todo/signupuser.html', {'form': UserCreationForm(), 'error': 'Password didn't match.'}) #18

def currentodos(request): #19
    return render(request, 'todo/currenttodos.html') #20

#0 リダイレクトを使用できるように”redirect”を追加

#1 Djangoのサインアップフォーム(UserCreationForm)を使用するのでインポートします。

#2 DjangoのUserモデルを使用するのでインポートします。

#3 Djangoのインテグリティエラーが出た時の対処を記述できるようにインポートします。

#4 Djangoのログイン機能を利用できるようにインポートします。

#5 urls.pyで設定した名前の関数にします。引数はブラウザからのリクエストにレスポンスを返すので、requestにします。

#6 もしブラウザからのリクエストがGETの場合…

#7 djangoのサインアップフォーム(UserCreationForm)を、(ここでは、djangoのテンプレートを使用する前提で)todoアプリのsignupuser.htmlに反映してレスポンスしてねという意味です。

#8 それ以外は…

#9 サインアップフォームのパスワード1とパスワード2(確認用)が同じ場合…

#10 トライしてね

#11 サインアップフォームのユーザー名とパスワードを新たにdjangoのユーザーモデルとして新規作成し、変数userに入れてね。

#12 当該ユーザーモデルをデータベースに保存してね。

#13 当該ユーザーでログインさせて

#14 特定ページ(ここではcurrenttodos)を表示して

#15 但し、インテグリティーエラーの場合は…
ここでの目的は、同じユーザー名を認めない。つまり、ユーザー名が既に登録済みならエラーを返す。

#16  Try againという文章と、サインアップフォームをレンダリングしたsignupuser.htmlを表示してね

#17 それ以外は…(パスワードが一致しない場合は)

#18  password didn’t matchという文章と、サインアップフォームをレンダリングしたsignupuser.htmlを表示してね

#19 ここでは本todoアプリの一覧表示用の関数を作成しています

#20 クライアントからのリクエストをテンプレートフォルダにあるcurrenttodos.htmlにレンダリングして返してね

3.  テンプレートフォルダを作成

記述したtodo/signupuser.htmlはDjangoテンプレートのルールに則り作成します。todoフォルダに以下構造でフォルダとファイルを作成します。

todo(既存フォルダ) > templates(新規フォルダ) >  todo(新規フォルダ) > signupuser.html(新規ファイル)

※注意 templatesフォルダを作成したら、その中にtodoフォルダを新たに作成する事を忘れないようにしましょう。

4.  signupuserのhtmlファイルを記述

続いて作成したsignupuserのファイルを作成します。

<h1>Sign Up</h1>
<h2> {{ error }}</h2> #1

<form method="POST"> #2
    {% csrf_token %} #3
    {{ form.as_p }} #4
    <button type="submit">Sign up</button> #5
</form>

#1 エラー文章を表示させるために記述 *ここのerrorはviewsからきてる

#2 POSTをmethod指定してフォームを作成します

#3 CSRF攻撃(クロスサイト・リクエストフォージェリ)を防ぐための対策です。djangoでは当該対策としてこのコードを埋め込む必要があります。

#4 サインアップフォームを表示したい個所指定します。{{ form }}だとdjangoのデフォルトのサインアップフォームが表示されます。{{ form.as_p }}とすることで段落にしたバージョンになります。見やすくなります(とはいえ最終的にはCSSでコーディングしましょう)

#5 送信ボタンを作成します。

5.  superuserを作成(管理者)

実際に登録できたかを確認するために、管理者を設定して、管理画面に入りuserが登録されているか確認しましょう。作成方法は以下を参照ください。

Djangoメモ:adminアカウントの設定方法

The post Djangoメモ:サインアップフォームの作成 first appeared on ティア.]]>