Python
Flask-mailしてみた。 https://pythonhosted.org/flask-mail/ まずは、SMTPサーバオン。 >winpty python -m smtpd -n -c DebuggingServer localhost:1025 続いて、別ターミナルで、ipyhtonオン。 で、 In [1]: from flask import Flask In [2]: from flask.e…
デバック用途のローカルで動くSMTPサーバは下記呪文を唱えればいいらしい。 winpty python -m smtpd -n -c DebuggingServer localhost:1025 msys2の場合、winptyをくっつける。 で、別のターミナルから、telnetでアクセスしてみる。 [1:hage@hage:UTF-8:~]> …
WTFromsをもうちょい研究。 ちと試しにWTFormsでオブジェクト作ってメンバーでも見てみようかと思った。 In [81]: from wtforms import TextAreaField, SubmitField In [82]: class PostForm(Form): ...: body = TextAreaField('Hi') ...: submit = SubmitFi…
メタクラス metaclass とは、クラス class のクラスらしい。 何がうれしいのかさっぱりわからない。 とりあえず、リンク。 blog.ionelmc.ro A Primer on Python Metaclasses Python の メタプログラミング (__metaclass__, メタクラス) を理解する Pythonの…
WTformsのIn-line Validatorsがちとわかったのでメモっち。 validatorさんは、 WTformsでフォームFromのクラスを作って、 フォームの各要素 Field に期待された値が入って返ってくるか?を チェック validateする役目。 あらかじめ準備してあるものは、Field…
見つけた。役に立ちそうなので、メモ。 Dive Into Python 3 日本語版 英語版。 Dive Into Python 3
Flask-Loginのコードを見ていて、悩んだ。 /c/Anaconda/Lib/site-packages/flask_login.pyを見ると、 46行目にlambdaがある。 44 #: A proxy for the current user. If no user is logged in, this will be an 45 #: anonymous user 46 current_user = Local…
辞書型 dict で順番を維持したい時は、OrderDictらしい。 8.3. collections — コンテナデータ型 — Python 3.5.1 ドキュメント ちとやってみた。 In [28]: from collections import OrderedDict まずは、ふつーのdict In [29]: d = {'one': 1, 'two': 2, 'thr…
Flask-Loginをちら見。 Flask-Login — Flask-Login 0.3.2 documentation これは、たぶん、 ユーザ userのログイン、ログアウトを管理するセッション session を、 ちこっと便利に使うためのモジュールっぽい。 login_user()のコードを見ると、 def login_use…
組み込み関数 getattr。 オブジェクト object を第1引数、 アトリビュート attribute を第2引数にして、値をゲットする。 アトリビュートを.で指定するのと何が違ってメリットがあるのかと思っていたら、 第2引数を変数にできるのがうれしいっぽい。 例。…
Pythonのクラス変数 class variableを少し試してみた。 まずは、下記のクラス作成。 クラス変数 a と、それを、__init__()で self.a で呼び出してみる。 In [98]: class Aaa(): ...: a = 1 ...: def __init__(self): ...: self.x = self.a ...: def cls_show…
numpyさんに、リストから適当に選択するメソッドがあったのでめも。 choiceちゅうらしい。 In [1]: import numpy as np In [2]: lst = ['hage', 'hagezo', 'hageshiku', 'hagetaka', 'hageo', 'hagekichi', 'hagesaburo'] In [3]: np.random.choice(lst) Out…
みげるっちの本勉強中。 ちとわかって来たのでメモ。 github.com WTFormsとは、htmlのformを作ってくれるものらしい。 www.htmq.com WTForms Documentation — WTForms 3.0dev documentation Flask-WTF — Flask-WTF 0.9.5 documentation formをhtmlに書き書き…
みげるっちのブログを読みつつ、ふーんと流していた箇所の意味が少しわかった。 __repr__は、オブジェクトobjectを示す番号を返す。 で、クラス class中で、__repr__をオーバーライトしてしまえば、 自分の任意の値を返すようにできる、、、わかりやすくなる…
ちとFlask-SQLAlchemyを試してみた。 データベースを直接呼び出すのでなく、それを包むオブジェクト wrapper object経由で操作するものらしい。 まずはインポート import。 接続するデータベースは、app.config['SQLALCHEMY_DATABASE_URI']で指定しないとい…
Flaskでセットアップ、デバック等々が楽になるように、 Flask-Scriptという拡張モジュール extentioin があるのを知った。 試してみる。 もとのapp.pyスクリプトをコピーして、 script.pyという名前にして#追加の行を追加。 from flask import Flask from fl…
階層構造 hierarchy configuration での変数 variableの例。 使うかもしれないので、メモ。 辞書 dict をdictする場合。 In [45]: aaa = {'a':1, 'b':2} In [46]: bbb = {'a':3, 'b':4} In [47]: ccc = {'aaa':aaa, 'bbb':bbb} In [48]: ccc['aaa'] Out[48]:…
md5 ハッシュ hashを生成する。 In [201]: import hashlib In [212]: hashlib.md5('john@example'.encode('utf-8')).hexdigest() Out[212]: '2e7a11032096c21c8e9d9704cef65fb8' .digest()にすると、 In [213]: hashlib.md5('john@example'.encode('utf-8'))…
みげるっちの講義のFlask-Loginの使われ方をみて、いまいちよくわからんとこがあった。 blog.miguelgrinberg.com @lm.user_loader def load_user(id): return User.query.get(int(id)) load_user()を他で呼んでいるところもない。 ちとflask_loginのソースを…
デコレータ decorator。 元の関数 function になんらかの変更、デコレートdecorateをして、元の関数と置き換えるものっぽい。 ちこっと試してみた。 まずは、ベースの関数作成&動作確認。 In [32]: def aaa(*args, **kwargs): ...: '''return args/kwargs''…
セッション sessionってなんじゃろー、と思った。 itpro.nikkeibp.co.jp なるほど、 1人のユーザがWebにアクセスする時の一連の処理の始めから終わりまでの期間。 ふーん、、、 個々のWebアクセスリクエストは、それぞれ単発であり、それを繋ぐ紐は、Webサ…
app.config 正しくは、flask.config.Configについてメモ。 こいつは、Flaskが呼ばれた時に使う変数 variable 群と、ちょっぴりユーティリティーらしい。 In [23]: import flask In [26]: app = flask.Flask(__name__) In [27]: type(app.config) Out[27]: fl…
空 から vacancy null のものの判定。 次の関数を用意。 In [1]: def j(x): ...: if x: ...: print('"if" catches it') ...: if not x: ...: print('"if not" catches it') ...: で、いくつかのタイプ typeで判定。 bool In [2]: x = True In [3]: type(x) O…
確かに ['a', 'b', 'c'] って書くよりこれが楽っぽい。 'a b c'.split(' ')
ptpythonというものをちょっと試してみた。 github.com msysでやるには、winpty ptpythonにしないとだめ。 でも、なんか色が、、、 Windows Consoleでやったら、きれいに動いた。 なかなかいいねー。 次のipythonに取り込まれるのかな? 期待。 ちなみに、Vi…
importって、ある特定ディレクトリの下のファイルを読み込んでいるかと思ってた。 そうじゃなくて(そうじゃないよー byミトメン) オブジェクトを読み込んでるっぽい。 ディレクトリaaaにファイル__init__.pyがあった場合。 [0:hage:~]>ls aaa/ [1:hage:~…
スタティックメソッド staticmethod クラスメソッド classmethod インスタンスメソッド instancemethod と3種類あるらしい。 何が違って、何がうれしいのか、、、難い、、 これを見つけた。 staticmethodはなんとなくわかった。 これは単純にファンクション…
16/4/8 ちと書き直し プロパティーpropertyとは、どうも次のようなものらしい。 アトリビュート attributeと、プロパティー propertyは同じもの。 ただ、プロパティーは、propertyデコレータ使って、自分でコントロールできるものが付加できる、、がナイスら…
PythonでJsonを見やすくする。 [1749:hage:~]>curl -q 'http://search.twitter.com/search.json?q=json&rpp=5&include_entities=true' | python -mjson.tool % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Lef…
pipで適当なパッケージをインストールしようとしたらエラーが出た。 [5:hage:~]>pip install powerline-status Traceback (most recent call last): File "/home/hage/my_python/myenv/bin/pip", line 6, in <module> sys.exit(pip.main()) File "/home/hage/my_pyth</module>…