修改配置文件后
應(yīng)該是重啟命令不能用service postgresql restart
service postgresql reload
service postgresql reload才可以https://jingyan.baidu.com/art...
似乎是 postgres.conf 使用restart pg_hba使用reload
我是使用如下的方法進(jìn)行的,同時(shí)修改配置文件后不,使用service postgresql reload命令來重啟,最后使用登錄成功
第二種方法,使用shell命令行。
添加新用戶和新數(shù)據(jù)庫,除了在PostgreSQL控制臺(tái)內(nèi),還可以在shell命令行下完成。這是因?yàn)镻ostgreSQL提供了命令行程序createuser和createdb。還是以新建用戶dbuser和數(shù)據(jù)庫exampledb為例。
首先,創(chuàng)建數(shù)據(jù)庫用戶dbuser,并指定其為超級(jí)用戶。
sudo -u postgres createuser --superuser dbuser
然后,登錄數(shù)據(jù)庫控制臺(tái),設(shè)置dbuser用戶的密碼,完成后退出控制臺(tái)。
sudo -u postgres psql
password dbuser
q
接著,在shell命令行下,創(chuàng)建數(shù)據(jù)庫exampledb,并指定所有者為dbuser。
sudo -u postgres createdb -O dbuser exampledb
登錄數(shù)據(jù)庫
添加新用戶和新數(shù)據(jù)庫以后,就要以新用戶的名義登錄數(shù)據(jù)庫,這時(shí)使用的是psql命令。
psql -U dbuser -d exampledb -h 127.0.0.1 -p 5432
上面命令的參數(shù)含義如下:-U指定用戶,-d指定數(shù)據(jù)庫,-h指定服務(wù)器,-p指定端口。
輸入上面命令以后,系統(tǒng)會(huì)提示輸入dbuser用戶的密碼。輸入正確,就可以登錄控制臺(tái)了。
他們兩個(gè)是收割機(jī)和鐮刀的區(qū)別。
授人以魚不如授人以漁:這個(gè)答案很簡單啊,首先你要回看這個(gè)debug記錄。
從上到下分別是執(zhí)行流程,然后每個(gè)執(zhí)行流程所調(diào)用的函數(shù)以及出錯(cuò)的相關(guān)代碼,具體代碼位置debug給你用--->標(biāo)記出來了,而我們所真正要看的是最后出錯(cuò)位置。
也就是
---> 11 page_number_code = page_number_span.text #讀取該標(biāo)簽的文本信息
這一行;
然后結(jié)合最后給你的報(bào)錯(cuò)信息:
AttributeError: 'NoneType' object has no attribute 'text'
此處告訴你的意思是None類型的對象沒有text屬性值。
也就是說page_number_span為None,或者說你壓根沒取到page_number_span,然后你訪問None的屬性text自然是沒有的。
使用websocket,參考https://www.cnblogs.com/huguo...
或者先把運(yùn)行過程寫到日志里面,再使用ajax輪詢的方式讀取顯示到前端
你如果對於 decorator 還有疑問的話, 可以參考 這篇文章
關(guān)於 decorator, 基本上一共有三個(gè)函數(shù):
decorator: 裝飾器/修飾器/修飾函數(shù)
orifunc: 原函數(shù)/被修飾函數(shù)
wrapper: 新函數(shù)/取代函數(shù)
簡單地可以表達(dá)為:
def decorator(orifunc):
# do something here (register...)
def wrapper(*args, **kwargs):
# do something before (preprocess)
result = orifunc()
# do something after (postprocess)
return result
return wrapper
他們的關(guān)係是:
wrapper = decorator(orifunc)
可以用甜頭寫法表示為:
@decorator
def orifunc(*args, **kwargs):
# do something...
decorator 在執(zhí)行裝飾的時(shí)候,只會(huì)將 orifunc 包裝並回傳, 其實(shí)就是用 wrapper 取代掉。
修飾這個(gè)步驟呼叫的的是 decorator, 傳遞的參數(shù)是 orifunc, 返回值是 wrapper, 這個(gè)時(shí)候 orifunc (或是他的包裝替代品 wrapper 都還沒被呼叫, 只有 decorator 被呼叫), 所以原函數(shù) orifunc 的參數(shù)根本不會(huì)傳遞進(jìn)修飾函數(shù)(decorator) 中。
只有當(dāng)我們呼叫裝飾過後的函數(shù) wrapper 時(shí)才需要傳入 orifunc 需要的參數(shù) (orifunc 和 wrapper 的參數(shù)介面應(yīng)當(dāng)一致)。
回到你的問題, 當(dāng) property 被呼叫的時(shí)候, 調(diào)用的函數(shù)是 property, 傳入的參數(shù)是原函數(shù) cookies, 返回值是 wrapper, 這時(shí)跟 self 都還沒有關(guān)係。
當(dāng)我們呼叫被修飾過的函數(shù) wrapper(也就是property(cookies)) 才需傳入與 cookies 相同的參數(shù), 此時(shí) self 才被傳入。
self.cookies() <=> property(cookies)(self)
^^^^^^^^^^^^^^^^^
修飾的這步尚與 self 無關(guān)
<=> wrapper(self)
^^^^^^^^^^^^^
調(diào)用 wrapper 時(shí)才與 self 有關(guān)
P.S. property 是 python 的內(nèi)建函數(shù), 並非 tornado 特有的東西, 你可以在 python doc 中找到說明。
我回答過的問題: Python-QA
最后我通過修改計(jì)算機(jī)名字(原本為中文),后面修改為英文結(jié)果就不報(bào)這個(gè)錯(cuò)了,也不知道為什么
(思路來源:https://www.jianshu.com/p/d4e...)
大家以后若遇到了,或許可以參考一下下
開始報(bào)錯(cuò)是鏈接那個(gè),可后面開始百度,開始試那些方法,結(jié)果不知為何變成我所提的那個(gè)錯(cuò)了
謝謝大佬~
我倒是寫過一個(gè)簡單的:http://show.bestime.live/projects/js-demos/scroll.html
首先,明確一點(diǎn),你的 flask 項(xiàng)目用到了藍(lán)圖。
在 flask 中,如果你的 app = Flask(__name__) 是這樣寫的,沒有明確 static_folder='你的主應(yīng)用的 static 目錄', 那么程序會(huì)自動(dòng)在藍(lán)圖下面搜索 static 目錄。因此,你的 main 藍(lán)圖下的 css 應(yīng)該在該藍(lán)圖下的 static 目錄下,但你的 css 肯定是調(diào)用的主應(yīng)用下的 static 目錄。
關(guān)鍵兩點(diǎn):
1.別用尾遞歸,計(jì)算的n的值稍微大一點(diǎn)就會(huì)爆棧。
2.python中數(shù)組的添加元素的過程
參看鏈接:http://hyry.dip.jp/tech/slice...
額外分配的內(nèi)存與數(shù)組的大小成正比
建議了解下底層數(shù)組的實(shí)現(xiàn)(為什么占用空間會(huì)比較大),以及計(jì)算機(jī)程序大致是怎么運(yùn)行的(為什么尾遞歸會(huì)出現(xiàn)爆棧問題)。
app.run(debug=True)
開起 debug 模式試試
id 是一個(gè)數(shù)字,怎么可能即是 3 又是 7 。
把最后一行
return redirect(url_for('/upload'))
改成
return render_template('你的html')%4 的應(yīng)該的輸出是啥?(或者輸入)
應(yīng)該是沒有字體,linux經(jīng)常遇到的情況。
用正則 Python正則表達(dá)式
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import re
str = "aabbcc!!";
searchObj = re.search( r'[,.!?,。???]{2,}', str);
if searchObj:
print("searchObj.group() : ", searchObj.group());
else:
print("Nothing found!!");已解決??!Fortran生成dll時(shí)沒配置,默認(rèn)生成32位的dll了。而我的QT程序是64位的,我又重新把dll生成64位的沒問題了
彈出框定位(fixed),頂部和底部絕對定位,中間的overflow:scroll
看你的保存內(nèi)容應(yīng)該是使用類似BaseHTTPServer這種python自帶的類完成的上傳服務(wù)器。
https://github.com/smilejay/p...
如果是這樣的話,那些http流的相關(guān)信息是沒有什么好的辦法的,只能自己通過類似readline的方式,一行一行的讀取,并且手動(dòng)去除http相關(guān)信息。
所幸這些都是http信息都是有相關(guān)標(biāo)準(zhǔn)的,例如 1-4 行為http信息, 5-(-2)行為上傳信息,最后一行為http信息(這只是隨便舉得一個(gè)例子)
所以想要通過這種方式來完成上傳文件的話,需要自己去研究下rfc標(biāo)準(zhǔn):
http://www.ietf.org/rfc/rfc1867
http://www.vivtek.com/rfc1867...
但是看你標(biāo)簽上是有django的,所以應(yīng)該會(huì)更簡單省事些的方式,就是使用django的request.FILES了。
參考地址:
https://docs.djangoproject.co...
示例:
# 獲取文件名
request.FILES['filename'].name
# 獲取全部文件
for filename, file in request.FILES.iteritems():
name = request.FILES[filename].name
# 文件內(nèi)容(這個(gè)不確定,請自行查看文檔)
file.readall()可以直接獲得
In [1]: print.__class__
Out[1]: builtin_function_or_method北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。