Djangoのインストール

PythonプログラムでWEBを開発するフレームワークであるDjangoを今日インストールした。これからはDjangoプロジェクトをPyCharmで開発していく。

テストプログラムによる結果表示
テストプログラムによる結果表示
ターミナルの実行結果(ログ)
ターミナルの実行結果(ログ)
Django等インストール後のパッケージ一覧
Django等インストール後のパッケージ一覧
FlaskとDjangoのモジュール一覧
FlaskとDjangoのモジュール一覧
↑人気ブログランキングに参加しています。ポチっと1票を!

集めた(または書いた)資料一覧

集めたまたは書いた資料一覧

集めた(または書いた)資料一覧(20/08/06)

AI No.1バインダー

  1. Atomのインストール(各種パッケージのインストール)
  2. Emacs入門ガイド
  3. UBUNTUのインストール
  4. fdiskコマンドの書式
  5. Linuxのマウント(mount)について
  6. Linuxファイルシステムの種類や作成方法について
  7. Linuxパーティションとは?パーティションの区切り方を詳細解説
  8. Linuxのフォーマットの方法
  9. Ubuntu日本語フォーラム
  10. Ubuntu 18.04 LTS 日本語 Remix
  11. UbuntuのLive USBをつくる
  12. Installing on Linux(英文)
  13. Python開発環境設定
  14. Atomの実行
  15. OBJECT指向入門
  16. 外付けHDDにUbuntuをインストールするまで
  17. Recovery手順18-08-04
  18. 作業手順(外付けHDD)
  19. システムジェネレーションその4
  20. ライセンス認証済み
  21. WSLでmatplotlibやgnuplotがプロットできない
  22. AnacondaなしでAtomのHydrogenをいれる
  23. Windows Subsystem for Linux
  24. オブジェクト指向をより理解するために実際に書いて説明する
  25. オブジェクト指向と10年戦って分かったこと
  26. なぜオブジェクト指向は難しいのか
  27. 正しい名前を付けることが大切な理由
  28. Chromeを使うなら必ずServiceWorkerを無効にしよう
  29. オブジェクト指向のいろは
  30. 初心者向け独学でAIエンジニアになりたい人向けおすすめの勉強方法
  31. Python Flaskを使用したWebサーバーの作成
  32. What is GitHub?(英文)
  33. GitHubって何?(日本文)
  34. WSL(flask)とUSBのやり取り(Logなど)
  35. データベースコンソールの操作
  36. ローカル接続(データベース)
  37. 独自SSL証明書導入
  38. 今まで学習したこと(flask関連)
  39. Demoxx関連ジャーナル
  40. 機械学習/ディープラーニング初心者が2018年にやったこと、読んだ論文
  41. Deep Learning学習計画表(AI技術者になるために)(日本語)
  42. Octave入門
  43. 【Deep Learning入門】0から勉強して3ヶ月でポリープ検出AIを作った

AI No.2バインダー

  1. Coursera Machine Learning関連資料

AI No.3バインダー

  1. はじめにーディープラーニング入門:Chainerチュートリアル
  2. Chainerが作った「ディープラーニング入門」が凄すぎる!
  3. Pythonチュートリアル
  4. [2019年5月版]機械学習・深層学習トレンド・リンク150
  5. 【Python入門】クラスの継承についてやさしく解説
  6. オブジェクトデータメソッド
  7. Qiitaでよい記事を書く技術
  8. NumPyとは?
  9. Deep Learning実践開発講座(DL4US)公開用リポジトリ
  10. 経験零から始めるAI開発
  11. PyCharmでライブラリをインストールする
  12. PyCharmの使い方
  13. NumPyでndarray型の配列を新規作成する方法
  14. Python学習手順
  15. PythonのプログラムをWebサイトに転送して動かすまで
  16. ロリポップ!FTP(フォルダの作成、編集)
  17. ロリポップ!FTP(ファイルのアップロード)
  18. 入門の第一歩!PowerShellの概要を知ろう
  19. 【Python】フレームワークFlaskの基本をマスター
  20. 40年でソフトウェア開発の景色はどのぐらい変わったのか?
  21. Windows標準機能「ペイント」で複数の画像を1つにまとめる方法
  22. Windows10で「あ」「A」のウザい表示を消す方法
  23. IT業界のルー大柴と渡り合うためのカタカナ用語一覧
  24. RSSって何?RSSの仕組みを理解し、RSSリーダー「Feedly」を使ってみよう!
  25. chrome使用時に右下に表示される広告・通知を消す方法【Windows10】

AI No.4バインダー

  1. Windowsのポチポチ業務を爆速化できるPowerShell、はじめのハードルぐーーんと下げてみます!
  2. Windowsのポチポチ業務を爆速化できるPowerShell、キーボードを使わずささっと起動する方法
  3. Windowsのポチポチ業務を爆速化できるPowerShellの絶対条件!ディレクトリとその移動をマスターしよう!
  4. Windowsのポチポチ業務を爆速化するPowerShell、コマンドレットを腹の底から理解する!
  5. Windowsのポチポチ業務を爆速化するPowerShell、オンラインヘルプでコマンドレットを使い倒す!
  6. Windowsのポチポチ業務を爆速化するPowerShell、統合開発環境ISEを紹介します!
  7. Windowsのポチポチ業務を爆速化するPowerShell、スクリプトを実行するための準備
  8. Windowsのポチポチ業務を爆速化するPowerShell、フォルダを作るスクリプトの作り方
  9. Windowsのポチポチ業務を爆速化するPowerShell、if文を使いフォルダの有無で処理を分岐させる方法
  10. Windowsのポチポチ業務を爆速化するPowerShell、ForEach-Objectで配列の全要素を処理する方法
  11. Windowsのポチポチ業務を爆速化するPowerShell、パイプラインを使いコマンドレット間で値を引き渡す方法
  12. Windowsのポチポチ業務を爆速化するPowerShell、ファイルを別フォルダにコピーし名称を変更する方法
  13. Windowsのポチポチ業務を爆速化するPowerShell、ファイル名を変更する方法
  14. Windowsのポチポチ業務を爆速化するPowerShell、正規表現で複雑なファイル名変更をする方法
  15. Windowsのポチポチ業務を爆速化するPowerShell、タスクスケジューラでスクリプトを決まった日時に起動する方法
  16. Windowsのポチポチ業務を爆速化するPowerShell、ファイルをバックアップするスクリプトの作り方
  17. Windowsのポチポチ業務を爆速化するPowerShell、関数を作ってスクリプトから呼び出す方法
  18. Windowsのポチポチ業務を爆速化するPowerShell、関数をコンソールで登録して呼び出す方法
  19. Windowsのポチポチ業務を爆速化するPowerShell、短いワードでサッと関数を呼び出すエイリアスの使い方
  20. Windowsのポチポチ業務を爆速化するPowerShell、関数やエイリアス保存場所のドライブを紹介します
  21. Windowsのポチポチ業務を爆速化するPowerShell、elseifで日付の元号を判定する方法
  22. Windowsのポチポチ業務を爆速化するPowerShell、日付を操るDatetime型
  23. 自称IT企業があまりにITを使わずに嫌になって野に下った俺が紹介するWindowsの自動化の方法
  24. 【 Remove-Item 】コマンドレット――ファイルやフォルダを削除する
  25. About Execution Policies
  26. PowerShellでIf文を利用した条件分岐を行う
  27. PowerShellでIf文を利用した条件分岐を行う(比較演算子)
  28. PowerShell実例集ジャーナル
  29. 各種「開発環境稼働方法」など一覧
  30. Python中級者への道しるべ
  31. WP SyntaxHighlighterを使ってみる
  32. IT業界で働く者の基礎知識となるクラウドネイティブとは?
  33. Windows 10で日本語入力できない、半角/全角キーが効かなくなった場合の解決方法
  34. 各種指示書
  35. PyCharmでデバッグを行う方法
  36. PyCharm 2019.2
  37. Windows PowerShell ドライブの管理
  38. Gutenberg移行後の最初の編集
  39. WordPress5.0の新エディタ「Gutenberg(グーテンベルグ)」の使い方
  40. Gutenbergの便利な使い方とテーマ対応状況
  41. Enlighter snapshot各種
  42. 200109どうやってAIを学習するか?
  43. ゴリゴリの文系がAIをほぼ独学した半年
  44. Pythonでゼロからでもサービス開発・公開できる学習ロードマップ
  45. データベース接続確立エラー(パスワード変更)

iPhone No.1バインダー

  1. 「Googleフォト」の使い方
  2. ガラケーからスマホへの機種変更
  3. iPhoneの使い方
  4. iPhoneの設定
  5. ソフトウェアキーボードの基本操作
  6. iPhoneキーボードハンドリング
  7. Yahoo乗換案内
  8. iOSの中で、アプリケーション同士が連携するための仕組み
  9. ブログ記事の下書きにiPhone「メモ帳」が最強!
  10. 高スパ「iPhone SE」と「iPhone11」どちらを選ぶ
  11. Siriショートカットの使い方と便利な作成例
  12. ブックマークの登録・削除・編集する
  13. iPhoneの標準ブラウザ「Safari」の基本操作・便利機能・小ワザまとめ
  14. 音声認識編集記号

iPhone No.2バインダー

  1. iPhone充電記録
  2. BackUpEtoUSB日付入り.ps1(PowerShell_ISE)
  3. Pipenvを用いたPythonの環境構築
  4. PyCharmが使用するディレクトリ
  5. PyCharmでライブラリをインストールする
  6. AnacondaなしでAtomのHydrogenを入れる
  7. OutlookからGmailへの連絡先の移行について
  8. メールソフトの設定
  9. リカバリガイド(Windows10)
  10. 知らないと損、iPhoneの操作を自動化する「ショートカット」アプリの使い方 基本ガイド
  11. iPhoneの「ショートカット」って何?おすすめショートカット12個!登録していると便利だぞ

総集編 Index

  1. 開発環境稼働方法
  2. Flask構造P
  3. emacsの操作
  4. DeepLearningモジュール一覧表
↑人気ブログランキングに参加しています。ポチっと1票を!

Python Prog.の復習

最初は「N Queens problem」のコードである。

##!/usr/bin/env python3
# Modified this program by S.K on 2020/04/26
"""
N queens problem.

The (well-known) problem is due to Niklaus Wirth.

This solution is inspired by Dijkstra (Structured Programming).  It is
a classic recursive backtracking approach.
"""

N = 8                                   # Default; command line overrides

class Queens:

    def __init__(self, n=N):
        self.n = n
        self.reset()

    def reset(self):
        n = self.n
        self.y = [None] * n             # Where is the queen in column x
        self.row = [0] * n              # Is row[y] safe?
        self.up = [0] * (2*n-1)         # Is upward diagonal[x-y] safe?
        self.down = [0] * (2*n-1)       # Is downward diagonal[x+y] safe?
        self.nfound = 0                 # Instrumentation

    def solve(self, x=0):               # Recursive solver
        for y in range(self.n):
            if self.safe(x, y):
                self.place(x, y)
                if x+1 == self.n:
                    self.display()
                else:
                    self.solve(x+1)
                self.remove(x, y)

    def safe(self, x, y):
        return not self.row[y] and not self.up[x-y] and not self.down[x+y]

    def place(self, x, y):
        self.y[x] = y
        self.row[y] = 1
        self.up[x-y] = 1
        self.down[x+y] = 1

    def remove(self, x, y):
        self.y[x] = None
        self.row[y] = 0
        self.up[x-y] = 0
        self.down[x+y] = 0

    silent = 0                          # If true, count solutions only

    def display(self):
        self.nfound = self.nfound + 1
        if self.silent:
            return
        print('+-' + '--'*self.n + '+')
        for y in range(self.n-1, -1, -1):
            print('|', end=' ')
            for x in range(self.n):
                if self.y[x] == y:
                    print("Q", end=' ')
                else:
                    print(".", end=' ')
            print('|')
        print('+-' + '--'*self.n + '+')

def main():
    import sys
    silent = 0
    n = N
    if sys.argv[1:2] == ['-n']:
        silent = 1
        del sys.argv[1]
    if sys.argv[1:]:
        n = int(sys.argv[1])
    q = Queens(n)
    q.silent = silent
    q.solve()
    print("Found", q.nfound, "solutions.")

if __name__ == "__main__":
    main()


文字が小さく見ずらい時はWindows拡大鏡をお使いください。Windows・キー + 「+」(プラス・キー)(Windows・キーはキーボード左下、左から3~4番目のキー。抜けるにはWindows・キー + 「ESCキー」を押します)
Enlighterのコードは窓の右上アイコンの「<>」を押すと明るい表示になります。

N = 12 の時
N = 12 の時
N = 4 の時
N = 4 の時

だいぶ時間が空いた、もうPythonのプログラミングも忘れてしまった。徐々に思い出していこう。最初は「N Queens problem」のコードである。かの構造化プログラミングで有名なダイクストラの解である。

↑人気ブログランキングに参加しています。ポチっと1票を!

Python,HTML,CSSの連携

下記コーディングはQiitaの記事を参考にさせていただきました。
-Python(app.py)

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# app.py

from flask import Flask, redirect ,request,render_template

app = Flask(__name__)

@app.route("/check")
def check():
    return render_template('check.html')

@app.route('/',methods=['POST'])
def index():
    my_age = int(request.form["age"])
    my_name = request.form["name"]
    return render_template('index.html',age=my_age,name=my_name)

if __name__ == '__main__':
    app.run(debug=True)

-HTML(check.html)

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>年齢確認</title>
<!--    <link rel="stylesheet" type="text/css" href="{{url_for('static', filename='style.css')}}" />  -->
    <link rel="stylesheet" type="text/css" href="static/css/style.css" />
</head>
<body>

    <form action="/" method="post">
        <h1>年齢確認</h1>
        <input type="text" name="name" placeholder="名前" required/>
        <input type="number" name="age" placeholder="年齢" required/>
        <button>年齢確認</button>
    </form>

</body>
</html>

-HTML(index.html)

<!DOCTYPE html>  <!-- index.html -->
<html lang="ja">
    <head>
        <meta charset="UTF-8">
        <title>18禁のサイト</title>
<!--        <link rel="stylesheet" type="text/css" href="style.css" />  -->
	<link rel="stylesheet" type="text/css" href="static/css/style-04.css" />
        <!--[if lt IE 9]>
        <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
        <![endif]-->
    </head>
    <body>
    <h1>射幸心を煽りまくるホームページ</h1>
    {% if age >= 18 %}
    {{name}}さんは18歳以上ですね。
    {% else %}
    {{name}}さんみたいな方はこんなHP見ちゃいけません?
    {% endif %}

    </body>
</html>

-CSS(style.css)

@charset 'utf-8';
body	 {
	background: sandybrown;
	color: darkgreen;
	margin-left: 2m;
	margin-right: 2m;
}

-CSS(style-04.css)

@charset 'utf-8';
body	 {
	background: violet;
	color: darkgreen;
	margin-left: 2m;
	margin-right: 2m;
}

以上

↑人気ブログランキングに参加しています。ポチっと1票を!

四則演算(PyCharm)

四則演算

-PyCharmとChromeで実施

#!/usr/bin/python3
# -*- coding: utf-8 -*-
#demo09.py

from flask import Flask,request

app = Flask(__name__)

@app.route('/')
def index():
    a = int(request.args.get("a"))
    b = int(request.args.get("b"))
    op = request.args.get("op")
    
    if op == "a":
          c = str(a + b)
          return "demo09 Add answer = "+c
    elif op == "s":
          c = str(a - b)
          return "demo09 Subtract answer = "+c
    elif op == "m":
          c = str(a * b)
          return "demo09 Multiply answer = "+c
    elif op == "d":
          c = str(a // b)
          return "demo09 Divide answer = "+c
    elif op == "r":
          c = str(a % b)
          return "demo09 Reminder answer = "+c
    elif op == "p":
          c = str(a ** b)
          return "demo09 Power answer = "+c
    else:
          return "demo09 Illeagal operator"

if __name__ == '__main__':
    app.run(debug=True)
#http://127.0.0.1:5000/?op=p&a=3&b=2

以上

↑人気ブログランキングに参加しています。ポチっと1票を!

元号特定プログラム(Python版)

PowerShell_ISE使って西暦年月日を指定して、その日がどの元号に当たるかを特定するプログラムをPython言語にアレンジしたものである。

元号特定プログラム

前に当ブログで西暦、和暦相互変換のプログラムを載せた。今回はPowerShell_ISE使って西暦年月日を指定して、その日がどの元号に当たるかを特定するプログラムをPython言語にアレンジしたものである。Ad-Conversion 20190502をAd_Conversion(20190502)で関数を呼び出し結果を表示する。
PowerShell_ISEをPython
変数「$・・」を「・・」
「-(ハイフン)」を「_(アンダーバー)」
「Function」を「def」(関数の定義)
「ーlt」を「<」(比較演算子)→全角で代用
「elseif」を「elif」(予約語の相違)
「 + 」を「,」(カンマ)
関数のパラメーター
「数字」を「(数字)」にそれぞれ書き換えの必要がある。

元号特定プログラム

def Ad_Conversion(indate):

    ERA_MEIJI = "明治"
    ERA_TAISHO = "大正"
    ERA_SHOWA = "昭和"
    ERA_HEISEI = "平成"
    ERA_REIWA = "令和"

    DATE_MEIJI = 18680908
    DATE_TAISHO = 19120730
    DATE_SHOWA = 19261225
    DATE_HEISEI = 19890108
    DATE_REIWA = 20190501

    if (indate < DATE_MEIJI):

        print("明治以前の日付には対応していません。")

    elif (indate < DATE_TAISHO):

        print("元号は", ERA_MEIJI, "です。")

    elif (indate < DATE_SHOWA):

        print("元号は", ERA_TAISHO, "です。")

    elif (indate < DATE_HEISEI):

        print("元号は", ERA_SHOWA, "です。")

    elif (indate < DATE_REIWA):

        print("元号は", ERA_HEISEI, "です。")

    else:

        print("元号は", ERA_REIWA, "です。")

Ad_Conversion(19300101)  # ①
Ad_Conversion(18700101)
Ad_Conversion(20190101)
Ad_Conversion(20190502)
Ad_Conversion(20200101)
Ad_Conversion(19510817)

# 下記は同スクリプトを実行した結果です
# 元号は昭和です。 # ①
# 元号は明治です。
# 元号は平成です。
# 元号は令和です。
# 元号は令和です。
# 元号は昭和です。

↑人気ブログランキングに参加しています。ポチっと1票を!

PyCharm Version Up(19.2)

PyCharm Version Up(19.2)

PyCharmのバージョンアップを行った。
Ver18.3→Ver19.2である。
WSLで作ったFlaskもAtomで作ったPython Programも皆、PyCharm上で動く。
将来的にはSQLiteも動かす予定だ。

# -*- coding: utf-8 -*-
print("例:明治 42 年")
S = input("和暦:")

syear = 0
print(S.split())
items = S.split()
year = int(items[1])

if items[0] == "明治":
    syear = 1867 + year
elif str(items[0]) == "大正":
    syear = 1911 + year
elif items[0] == "昭和":
    syear = 1925 + year
elif items[0] == "平成":
    syear = 1988 + year
elif items[0] == "令和":
    syear = 2018 + year
else:
    print(items[0],"Error")

print("西暦",str(syear),"年")

これは和暦→西暦変換プログラムである。

↑人気ブログランキングに参加しています。ポチっと1票を!

demo32.pyのプログラム

demo32のプログラム

– 他の「demoxx.html」プログラムは省略します。
– 後日機会があったら当ブログに載せます。

#!/usr/bin/python3
# -*- coding: utf-8 -*-
#demo32.py sessin managed & username get
from flask import Flask, redirect, request, render_template, url_for, session

app = Flask(__name__)

@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return render_template('demo07.html')

@app.route('/program', methods=['GET', 'POST'])
def program():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return render_template('demo03.html')

@app.route('/program1', methods=['GET', 'POST'])
def program1():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return render_template('demo04.html')

@app.route('/program2', methods=['GET', 'POST'])
def program2():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return render_template('demo05.html')

@app.route('/param/<parameter>')
def show_user_profile(parameter):
    if 'username' in session:
        html = render_template('demo07.html',name = str(parameter))        
        return html
    return 'You are not logged in. from param processing'

@app.route('/reset', methods=['GET', 'POST'])
def reset():
    session['username'] = 'monkey'
    return render_template('check31.html')

@app.route('/')
def func():
    if 'username' in session:
        html = render_template('demo07.html',name = str(session['username']))        
        return html
    return 'You are not logged in'

@app.route('/check', methods=['GET', 'POST'])
def check():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('func'))
    return render_template('check31.html')

@app.route('/',methods=['POST'])
def index():

    if (request.form['attr'] == 'need'):

        success = False
        name = request.form["username"]
        passwd = request.form["pass"]
        att1 = request.form['attr']
        my_message = "keyword処理は?"
    else:
        con1 = request.arg.get('_ControlID')
        pg1 = int(request.arg.get('_PageID'))
        act1 = request.arg.get('_ActionID')
        flg1 = request.arg.get('getFlg')
        html = render_template('demo07.html', con = con1, pg = str(pg1), act = act1, flg = flg1)        
        return html

    user_data = [{"id":"カリフラワー", "pass":"hanakyabetsu"},{"id":"西行法師", "pass":"masako"},{"id":"monkey", "pass":"kayochan"},{"id":"program1", "pass":"pass1"}]

    for i in range(0, 10):
        if user_data[i]["id"] == name:
            if user_data[i]["pass"] == passwd:
                success = True
                session['username'] = name
                return render_template('demo07.html',suc=success,name=name,pas=passwd,msg=my_message,att=att1)
            else:
                continue
        else:
            continue
    success = False
    return render_template('demo07.html',suc=success,name=name,pas=passwd,msg=my_message,att=att1)

@app.route('/logout')
def logout():
    session.pop('username', None)
    return redirect(url_for('func'))

app.secret_key = 'B0Qp89i/2xY F~XHH!jnVVLWX/,%QR'

if __name__ == '__main__':
    app.run(debug=True)

– 以上セッション処理プログラムでした。

↑人気ブログランキングに参加しています。ポチっと1票を!

Windows10のファイル名のエンコーディング

‘utf-8’を使っていました。

Windows10のファイル名のエンコーディング

Windows10にインストールしたPython3を使って、
システムが使用しているファイル名のエンコーディングを
調べます。
すると’utf-8’を使っていました。

↑人気ブログランキングに参加しています。ポチっと1票を!

ファイル操作(文字列データの場合)

ファイル操作(文字列データの場合)

以前、イメージファイル操作について述べた。
例えばフェルメールの「真珠の耳飾りの少女」の表示などである。
ここではもっと単純な文字列の書き込み、読み出しの例をAtom・Hydrogen、PyCharmで表示する。
‘w’は何度同じものを書き込んでも同じデータが書き込まれる。
‘a’にするとファイルの終わりに追加される。
単純だがPythonの基本なので取り上げた。

書き込んだデータ

ファイル操作・PyCharmの場合(書き込み)

ファイル操作・PyCharmの場合(読み出し)


↑人気ブログランキングに参加しています。ポチっと1票を!