Time of Update: 2017-01-19
全文檢索索引引擎入門灰常不幸的是,關係型資料庫對全文檢索索引的支援沒有被標準化。不同的資料庫通過它們自己的方式來實現全文檢索索引,而且SQLAlchemy在全文檢索索引上也沒有提供一個好的抽象。我們現在使用SQLite作為我們的資料庫,所以我們可以繞開SQLAlchemy而使用SQLite提供的工具來建立一個全文檢索索引索引。但這麼做不怎麼好,因為如果有一天我們換用別的資料庫,那麼我們就得重寫另一個資料庫的全文檢索索引方法。所以我們的方案是,我們將讓我們現有的資料庫處理常規資料,然後
Time of Update: 2017-01-19
概要在前面的章節裡我們專註於在我們的小應用程式上一步步的添加功能上。到現在為止我們有了一個帶有資料庫的應用程式,可以註冊使用者,記錄使用者登陸退出日誌以及查看修改設定檔。在本節中,我們不為應用程式添加任何新功能,相反,我們要尋找一種方法來增加我們已寫代碼的穩定性,我們還將建立一個測試架構來協助我們防止將來程式中出現的失敗和復原。讓我們來找bug在上一章的結尾談到,我故意在應用程式中引入一個bug。接下來讓我描述一下它是什麼樣的bug,然後看看當我們的程式不按照我們意願執行的時候,它在
Time of Update: 2017-01-19
使用者資料頁面在使用者資料頁面,基本上沒有什麼特別要強調和介紹的新概念。只需要建立一個含有HTML的新視圖函數模板頁面即可。下面是視圖函數(項目目錄/views.py): @app.route('/user/<nickname>')@login_requireddef user(nickname): user = User.query.filter_by(nickname = nickname).first() if user == None:
Time of Update: 2017-01-19
回顧在前面的系列章節中,我們建立了一個資料庫並且學著用使用者和郵件來填充,但是到現在我們還沒能夠植入到我們的程式中。
Time of Update: 2017-01-19
命令列方式運行Python指令碼在這個章節中,我們將寫一些簡單的資料庫管理指令碼。在此之前讓我們來複習一下如何通過命令列方式執行Python指令碼.如果Linux 或者OS X的作業系統,需要有執行指令碼的許可權。例如:chmod a+x script.py該指令碼有個指向使用解譯器的命令列。再指令碼賦予執行許可權後就可以通過命令列執行,就像這樣: like this:./script.py
Time of Update: 2017-01-19
概要在前面章節我們為首頁定義了一個簡單的模板,部分尚未實現的模組如使用者或文章等使用類比的對象作為臨時佔位。本章我們將看到如何利用web表單填補這些空白。web表單是web應用中最基本的構建要素,我們將通過表單來實現使用者發帖和應用登入功能。完成本章內容你需要基於前面章節完成的微博應用代碼,請確認這些代碼已安裝並能正常運行。配置Flask-WTF是WTForms項目的Flask架構擴充,我們將用他來協助我們處理web表單。大部分Flask擴充都需要定義相關配置項,所以我們先來在應用根
Time of Update: 2017-01-19
概述如果你已經閱讀過上一個章節,那麼你應該已經完成了充分的準備工作並且建立了一個很簡單的具有如下檔案結構的Web應用: microblog |-flask檔案夾 |-<一些虛擬環境的檔案> |-app檔案夾 | |-static檔案夾 |
Time of Update: 2017-01-19
在熟悉了Qt的QProcess以後,再回頭來看python的subprocess總算不覺得像以前那麼恐怖了。和QProcess一樣,subprocess的目標是啟動一個新的進程並與之進行通訊。subprocess.Popen這個模組主要就提供一個類Popen:class subprocess.Popen( args, bufsize=0, executable=None, stdin=None, stdout=None, stderr=None, preexec_
Time of Update: 2017-01-19
什麼是twisted?twisted是一個用python語言寫的事件驅動的網路架構,他支援很多種協議,包括UDP,TCP,TLS和其他應用程式層協議,比如HTTP,SMTP,NNTM,IRC,XMPP/Jabber。
Time of Update: 2017-01-19
Django, Bottle, Flask,等所有的python web架構都需要配置一個SECRET_KEY。文檔通常推薦我們使用隨機的值,但我很難發現他有任何文字說明,因為這樣容易被破解(本地攻擊或者文本閱讀在web app中更容易受攻擊)。攻擊者可以使用SECRET_KEY偽造cookies,csrf
Time of Update: 2017-01-19
使用 pdb 進行調試pdb 是 python 內建的一個包,為 python 程式提供了一種互動的原始碼調試功能,主要特性包括設定斷點、單步調試、進入函數調試、查看當前代碼、查看棧片段、動態改變變數的值等。pdb 提供了一些常用的調試命令,詳情見表 1。表 1. pdb 常用命令下面結合具體的執行個體講述如何使用 pdb 進行調試。清單 1. 測試程式碼範例import pdb a = "aaa" pdb.set_trace() b = "bbb" c = "ccc" final = a
Time of Update: 2017-01-19
Django的QuerySets酷斃了!在本文中我將解釋一下QuerySets是什麼,它是如何工作的(如果你對它已經熟悉了,你可以直接跳到第二部分),我認為如果可以的話你應該總是返回QuerySets對象,下面讓我來談談如何做。QuerySets很酷QuerySet,本質上是一個給定的模型的對象列表。我說“列表”而不是“組”或更正式的“集合”因為它是有序的。事實上,你可能已經熟悉如何獲得QuerySets,因為這就是你調用variousBook.objects.XXX()方法後得到的
Time of Update: 2017-01-19
引言with 語句是從 Python 2.5 開始引入的一種與異常處理相關的功能(2.5 版本中要通過 from __future__ import with_statement 匯入後才可以使用),從 2.6 版本開始預設可用(參考 What's new in Python 2.6? 中 with 語句相關部分介紹)。with
Time of Update: 2017-01-19
如果你花費了很多的時間去進行Django資料庫交易處理的話,你將會瞭解到這是讓人暈頭轉向的。在過去,只是提供了簡單的基礎文檔,要想清楚知道它是怎麼使用的,還必須要通過建立和執行Django的交易處理。這裡有眾多的Django交易處理的名詞,例如:commit_on_success , commit_manually ,
Time of Update: 2017-01-19
本文執行個體講述了python擷取本機外網ip的方法。分享給大家供大家參考。具體如下:python從顯示ip地址的網站擷取本機外網ip,這段python代碼抓取網站上的ip地址資訊import urllibimport reprint "we will try to open this url, in order to get IP Address"url = "http://checkip.dyndns.org"print urlrequest =
Time of Update: 2017-01-19
儘管Django的流行和普及, 一些開發人員仍然認為她是一個過時的web開發架構, 僅僅適合內容豐富的web程式。 然而現在大多數web程式往往不是富內容的, 這似乎讓Django看起來不是最佳選擇的web架構。那麼讓我們花點時間從現在的web開發實踐中重新認識下她吧。簡單清晰的Django一個web架構主要是協助web程式產生核心的架構, 以便在其他的項目中重用。 Django正是以此為基礎, 快速構建web程式。 Django的核心主要是WSGI程式,
Time of Update: 2017-01-19
本文執行個體匯總了python中常用檢測字串相關函數。分享給大家供大家參考。具體分析如下:下面的python代碼可用於檢測字串,包括是否全部為數字,是否包含數字,是否包含標題單詞,是否包含大寫字母,是否包含小寫字母,是否包含空格,是否以指定的字元開頭和結尾。my_string = "Hello World"my_string.isalnum() #檢測所有字元是否都是數字my_string.isalpha() #檢測字串中的所有字元是否都是字母my_string.isdigit()
Time of Update: 2017-01-19
Python ORM 概覽作為一個美妙的語言,Python 除了 SQLAlchemy 外還有很多ORM庫。在這篇文章裡,我們將來看看幾個流行的可選ORM 庫,以此更好地窺探到Python ORM 境況。通過寫一段指令碼來讀寫2個表 ,person 和 address 到一個簡單的資料庫,我們能更好地理解每個ORM庫的優缺點。SQLObjectSQLObject 是一個介於SQL資料庫和Python之間映射對象的Python ORM。得益於其類似於Ruby on
Time of Update: 2017-01-19
Heroku是一個很棒的平台,它有很多的控制項,並且搭建環境相對來說也比較容易。本指南中,我將一步一步指導你在Heroku平台上部署一個簡單地Django應用搭建開發環境Heroku工具鏈假設你已經在Heroku平台上註冊了一個帳戶,並且在裡面建立了一款應用,為了一會兒通過CLI與Heroku互動,你需要安裝Heroku工具鏈。在這篇指南中,我們用"Sample-Project"作為應用的名字。Git倉庫在部署你的應用到Heroku之前,你需要先將你的代碼簽入git倉庫中。Heroku提供的gi
Time of Update: 2017-01-19
開源的,地址在https://github.com/atupal/webqq 等有時間了寫一個完整的cli qq用戶端。 使用方法:python login_qq.py即可 複製代碼 代碼如下: import urllib2 import httplib2 import re import random from encryption import QQmd5 import cookielib import requests import getpass import time import