摘要:側(cè)邊欄選用提到的。將改成來(lái)訪問(wèn)的形式組織代碼出現(xiàn)循環(huán)的問(wèn)題往往意味著代碼的布局有問(wèn)題,可以合并或者分離競(jìng)爭(zhēng)資源。分離的話就是把需要的資源提取到一個(gè)第三方文件去??傊褪菍⒀h(huán)變成單向。對(duì)于周期性任務(wù)缺一不可。其他任務(wù)可僅運(yùn)行。
1、bootstrap代碼片段:
如果你沒(méi)有藝術(shù)細(xì)胞,偷懶的方法就是到這上面去找,比如登錄框界面等。
側(cè)邊欄選用:http://www.designerslib.com/b...提到的http://bootsnipp.com/fullscre...。
其他一些資源:
w3schools-howto
一個(gè)比較炫的html模板(雖然最后沒(méi)有采用)
bootstrap主題
在css當(dāng)中增加上:
html, body{ margin:0; height:100%; }3、Alembic migration失敗,Sqlite lack of ALTER support解決辦法:
在env.py中設(shè)置render_as_batch=True
context.configure( connection=connection, target_metadata=target_metadata, render_as_batch=True )4、markdown擴(kuò)展:
http://pythonhosted.org/Markd...
比較有用的
Table of Contents(toc)、
CodeHilite(代碼高亮)、
Meta-Data(文件前面可以添加元數(shù)據(jù),比如標(biāo)題,作者等)、
New Line to Break(換行即新行,而不是像原生markdown那樣得換兩行)、
Tables(表格插件)
Flask request,g,session的實(shí)現(xiàn)原理
深入 Flask 源碼理解 Context
Flask Session超時(shí)設(shè)置
默認(rèn)情況下,flask session在你關(guān)閉瀏覽器的時(shí)候失效。你可以通過(guò)設(shè)置permanent session來(lái)改變這一行為。
from datetime import timedelta from flask import session, app @app.before_request def make_session_permanent(): session.permanent = True app.permanent_session_lifetime = timedelta(minutes=30)
默認(rèn)情況下,permanent_session_lifetime是31天。
6、關(guān)于SQLAlchemy:SQLAlchemy 使用經(jīng)驗(yàn)
SqlAlchemy query many-to-many relationship
class Restaurant(db.Model): ... dishes = db.relationship("Dish", secondary=restaurant_dish, backref=db.backref("restaurants"))
然后檢索所有的dishes for a restaurant, you can do:
x = Dish.query.filter(Dish.restaurants.any(name=name)).all()
產(chǎn)生類(lèi)似如下SQL語(yǔ)句:
SELECT dish.* FROM dish WHERE EXISTS ( SELECT 1 FROM restaurant_dish WHERE dish.id = restaurant_dish.dish_id AND EXISTS ( SELECT 1 FROM restaurant WHERE restaurant_dish.restaurant_id = restaurant.id AND restaurant.name = :name ) )7、解決循環(huán)import的問(wèn)題思路
1.延遲導(dǎo)入(lazy import)
即把import語(yǔ)句寫(xiě)在方法或函數(shù)里面,將它的作用域限制在局部。
這種方法的缺點(diǎn)就是會(huì)有性能問(wèn)題。
2.將from xxx import yyy改成import xxx;xxx.yyy來(lái)訪問(wèn)的形式
3.組織代碼
出現(xiàn)循環(huán)import的問(wèn)題往往意味著代碼的布局有問(wèn)題,可以合并或者分離競(jìng)爭(zhēng)資源。合并的話就是都寫(xiě)到一個(gè)文件里面去。分離的話就是把需要import的資源提取到一個(gè)第三方文件去??傊褪?將循環(huán)變成單向。
具體解決方案后續(xù)文章再貼代碼
Good logging practice in Python
How do I check if a variable exists?
To check the existence of a local variable:
if "myVar" in locals(): # myVar exists.
To check the existence of a global variable:
if "myVar" in globals(): # myVar exists.
To check if an object has an attribute:
if hasattr(obj, "attr_name"): # obj.attr_name exists. if("attr_name" in dir(obj)): pass
還有一個(gè)不是很優(yōu)雅地方案,通過(guò)捕獲異常的方式:
try: myVar except NameError: myVar = None # Now you"re free to use myVar without Python complaining.9、關(guān)于Git與Github
How do I delete a Git branch with TortoiseGit
為什么給GIT庫(kù)打TAG不成功
如何修改github上倉(cāng)庫(kù)的項(xiàng)目語(yǔ)言?
項(xiàng)目放在github,是不是經(jīng)常被識(shí)別為javascript項(xiàng)目?知乎這篇問(wèn)答給出了答案。
問(wèn)題原因:
github 是根據(jù)項(xiàng)目里文件數(shù)目最多的文件類(lèi)型,識(shí)別項(xiàng)目類(lèi)型.
解決辦法:
項(xiàng)目根目錄添加 .gitattributes 文件, 內(nèi)容如下 :
*.js linguist-language=python
作用: 把項(xiàng)目里的 .js 文件, 識(shí)別成 python 語(yǔ)言.
10、關(guān)于IDE的:Indexing excluded directories in PyCharm
pycharm convert tabs to spaces automatically
periodic task for celery sent but not executed
這個(gè)由于我沒(méi)仔細(xì)看官方文檔,搞了好久。Celery的周期性任務(wù)scheduler需要配置beat和運(yùn)行beat進(jìn)程,但是僅僅運(yùn)行beat進(jìn)程可以嗎?不行!我就是這里被坑了。還得同時(shí)運(yùn)行一個(gè)worker。也就是說(shuō)beat和worker都需要通過(guò)命令行運(yùn)行。對(duì)于周期性任務(wù)beat缺一不可。其他任務(wù)可僅運(yùn)行worker。
如果采用gunicorn命令行的形式:-e選項(xiàng)
gunicorn -w 4 -b 127.0.0.1:4000 -k gevent -e aliyun_api_key=value,SECRET_KEY=mysecretkey app:app
如果采用gunicorn.conf.py文件的形式:raw_env
import multiprocessing bind = "127.0.0.1:4000" workers = multiprocessing.cpu_count() * 2 + 1 worker_class="gevent" proc_name = "mdwiki" user = "nginx" chdir="/opt/mdwiki" #daemon=False #group = "nginx" loglevel = "info" #errorlog = "/home/myproject/log/gunicorn.log" #accesslog= raw_env = [ "aliyun_api_key=value", "aliyun_secret_key=value", "MAIL_PASSWORD=value", "SECRET_KEY=mysecretkey", ] #ssl #keyfile= #certfile= #ca_certs=
如果采用supervisor配置環(huán)境變量
[program:mdwiki] environment=SECRET_KEY=value,aliyun_api_key=value,aliyun_secret_key=value,MAIL_PASSWORD=value command=/usr/bin/gunicorn -n mdwiki -w 4 -b 127.0.0.1:4000 -k gevent app:app directory=/opt/mdwiki user=nginx autostart=true autorestart=true redirect_stderr=true
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/38245.html
摘要:側(cè)邊欄選用提到的。將改成來(lái)訪問(wèn)的形式組織代碼出現(xiàn)循環(huán)的問(wèn)題往往意味著代碼的布局有問(wèn)題,可以合并或者分離競(jìng)爭(zhēng)資源。分離的話就是把需要的資源提取到一個(gè)第三方文件去??傊褪菍⒀h(huán)變成單向。對(duì)于周期性任務(wù)缺一不可。其他任務(wù)可僅運(yùn)行。 1、bootstrap代碼片段: 如果你沒(méi)有藝術(shù)細(xì)胞,偷懶的方法就是到這上面去找,比如登錄框界面等。側(cè)邊欄選用:http://www.designerslib....
摘要:本文主要針對(duì)小程序無(wú)聊廣場(chǎng)的前端開(kāi)發(fā)內(nèi)容做總結(jié),記錄常見(jiàn)的一些老生常談的進(jìn)階手法,對(duì)小程序中的動(dòng)畫(huà)音頻等踩坑做出解決方案。 背景 一個(gè)交互不復(fù)雜,對(duì)刷新頻率和動(dòng)畫(huà)效果要求不高的小游戲,不需要使用canvas主導(dǎo)的解決方案,使用dom操作一樣可以完成。節(jié)省了cocos creater的學(xué)習(xí)成本,值得一試。本文主要針對(duì)小程序無(wú)聊廣場(chǎng)的前端開(kāi)發(fā)內(nèi)容做總結(jié),記錄常見(jiàn)的一些老生常談的進(jìn)階手法,對(duì)...
摘要:是一款系統(tǒng),可以作為個(gè)人或小型團(tuán)隊(duì)的知識(shí)庫(kù)管理系統(tǒng)。再加上目前開(kāi)始學(xué)習(xí)與爬蟲(chóng)。技術(shù)選型作為新手,義不容辭為什么就為了原生支持開(kāi)玩笑因?yàn)榇砹说奈磥?lái),而且越來(lái)越多的庫(kù)已經(jīng)遷移到了,沒(méi)有什么理由不選擇它。 mdwiki是一款markdown wiki系統(tǒng),可以作為個(gè)人或小型團(tuán)隊(duì)的知識(shí)庫(kù)管理系統(tǒng)。項(xiàng)目地址:本系列文章最后一篇給出(需要時(shí)間整理和測(cè)試) 為什么我要開(kāi)發(fā)mdwiki? 目前本人的...
摘要:是一款系統(tǒng),可以作為個(gè)人或小型團(tuán)隊(duì)的知識(shí)庫(kù)管理系統(tǒng)。再加上目前開(kāi)始學(xué)習(xí)與爬蟲(chóng)。技術(shù)選型作為新手,義不容辭為什么就為了原生支持開(kāi)玩笑因?yàn)榇砹说奈磥?lái),而且越來(lái)越多的庫(kù)已經(jīng)遷移到了,沒(méi)有什么理由不選擇它。 mdwiki是一款markdown wiki系統(tǒng),可以作為個(gè)人或小型團(tuán)隊(duì)的知識(shí)庫(kù)管理系統(tǒng)。項(xiàng)目地址:本系列文章最后一篇給出(需要時(shí)間整理和測(cè)試) 為什么我要開(kāi)發(fā)mdwiki? 目前本人的...
摘要:寫(xiě)不下去了,直接貼地址吧。菜鳥(niǎo)第一個(gè)項(xiàng)目,求輕噴。后續(xù)打算變?yōu)椴捎脕?lái)管理。加入圖片和文章爬蟲(chóng)功能。 寫(xiě)不下去了,直接貼地址吧。菜鳥(niǎo)第一個(gè)python項(xiàng)目,求輕噴。后續(xù)打算變client-side session為server-side session,采用redis來(lái)管理session。加入圖片和文章爬蟲(chóng)功能。重構(gòu)代碼。 項(xiàng)目地址:https://github.com/xbynet/m...
閱讀 1975·2021-10-25 09:48
閱讀 2809·2021-09-22 14:59
閱讀 1767·2019-08-29 16:52
閱讀 874·2019-08-29 16:07
閱讀 2314·2019-08-29 12:38
閱讀 1781·2019-08-26 13:23
閱讀 889·2019-08-26 11:49
閱讀 3285·2019-08-26 10:56