Time of Update: 2016-10-17
Python是一門動態、物件導向語言。其最初就是作為一門物件導向語言設計的,並且在後期又加入了一些更進階的特性。除了語言本身的設計目的之外,Python標準庫也是值得大家稱讚的,Python甚至還內建伺服器。其它方面,Python擁有足夠多的免費資料函數庫、免費的Web網頁模板系統、還有與Web伺服器進行互動的庫、這些都可以設計到你的Web應用程式裡面。 在這篇文章裡,我們將為Python
Time of Update: 2016-10-17
一、模板類型錯誤:錯誤原因:在models中漏掉了return:class UserProfile(models.Model): user=models.OneToOneField(User,blank=True,null=True,related_name='user',verbose_name=_(u'使用者')) company_name=models.CharField(u'企業(或代理商)名稱',max_length=30
Time of Update: 2016-10-17
前言也許有同學很迷惑:tornado不是標榜非同步非阻塞解決10K問題的嘛?但是我卻發現不是torando不好,而是你用錯了.比如最近發現一個事情:某網站開啟頁面很慢,伺服器cpu/記憶體都正常.網路狀態也良好. 後來發現,開啟頁面會有很多請求後端資料庫的訪問,有一個mongodb的資料庫業務api的rest服務.但是它的tornado卻用錯了,一步步的來研究問題:說明以下的例子都有2個url,一個是耗時的請求,一個是可以或者說需要立刻返回的請求,我想就算一個對技術不熟,從道理上來說的使用者,
Time of Update: 2016-10-17
很多網站都使用javascript...網頁內容由js動態產生,一些js事件觸發的頁面內容變化,連結開啟.甚至有些網站在沒有js的情況下根本不工作,取而代之返回你一條類似"請開啟瀏覽器js"之類的內容.對javascript的支援有四種解決方案:1,寫代碼類比相關js邏輯.2,調用一個有介面的瀏覽器,類似各種廣泛用於測試的,selenium這類.3,使用一個無介面的瀏覽器,各種基於webkit的,casperjs,phantomjs等等.4,結合一個js執行引擎,自己實現一個輕量級的瀏覽器.難度
Time of Update: 2016-10-17
在爬取網站內容的時候,最常遇到的問題是:網站對IP有限制,會有防抓取功能,最好的辦法就是IP輪換抓取(加代理)下面來說一下Scrapy如何配置代理,進行抓取1.在Scrapy工程下建立“middlewares.py”# Importing base64 library because we'll need it ONLY in case if the proxy we are going to use requires authenticationimport base64 #
Time of Update: 2016-10-17
Django 作為一個傑出的Python開源架構,或許得不到和其它流行架構如Rails這樣多的讚美,但是它和其他架構一樣精鍊,非常注重DRY(Don’t Repeat Yoursef)原則、組件的重用性,通過自動化過程使編碼更簡潔。如果在Django項目中能夠靈活使用某些方法和技巧的話,它將大大加快軟體開發的速度同時避免很多頭疼的事。作者在下面列舉了幾點,這些方法由淺入深,可以協助任何層級的程式員更加熟練的使用Django。1、
Time of Update: 2016-10-17
1、django搜尋路徑 使用 import 語句時,Python 所尋找的系統目錄清單。 查看方式: import sys print sys.path 通常無需關心 Python 搜尋路徑的設定,Python 和 Django 會在後台自動幫你處理好。2、url匹配模式 基本結構: '^需要匹配的url字串$'
Time of Update: 2016-10-17
Django測試架構非常簡單,首選方法是使用python標準庫中的unittest模組。Writing testsDjango的單元測試使用python的unittest模組,這個模組使用基於類的方法來定義測試。類名為django.test.TestCase,繼承於python的unittest.TestCase。from django.test import TestCasefrom myapp.models import Animal class
Time of Update: 2016-10-17
1, mezzanine介紹mezzanine就是一個基於Django架構的應用, 詳細可以參考官方網站:http://mezzanine.jupo.org/2, Mezzanine 安裝指南:# Install from PyPI $ pip install mezzanine # Create a project $ mezzanine-project myproject $ cd myproject # Create a database $ python
Time of Update: 2016-10-17
redis相信大家都很熟悉了,和memcached一樣是一個高效能的key-value資料庫,至於什麼是快取服務器,度娘都有很明白的介紹了,我在這裡就不一一介紹了。那我們一般什麼情況下才會使用快取服務器呢?可不是什麼情況都需要的哦,一般來說是在需要頻繁對一個欄位讀取的時候才會需要將這個欄位放入到快取服務器上,而且由於key-value資料庫一般只是放很簡單的資料,所以在選擇儲存的對象的時候要注意選擇好。下面我就來介紹如何在Django中配置使用redis資料庫,首先是先安裝redis了,在Ubu
Time of Update: 2016-10-17
在網站開發中難免要調試頁面,而使用django開發網站時,可以使用django-debug-toolbar來進行調試,安裝這個外掛程式很有用,我一開始是為了查看某個頁面中所有的context變數值,當然你還可以看到HTTp頭、模板、緩衝等各種資訊,總之很全面也很好用。以前比較習慣在windows中安裝pycharm開發,項目部署在虛擬機器中,在本地瀏覽器中查看效果,這種方式在調試上會有點麻煩,django-debug-toolbar的出現,就解決了這個問題下面說下如何安裝和使用django-de
Time of Update: 2016-10-17
Flask簡介Flask是一個相對於Django而言輕量級的Web架構。和Django大包大攬不同,Flask建立於一系列的開源軟體包之上,這其中 最主要的是WSGI應用開發庫Werkzeug和模板引擎Jinja:策略 :werkzeug和Jinja這兩個庫和Flask一樣,都是pocoo團隊開發的。這 或許體現了pocoo與Django競爭時關於生態的一種策略,這種策略的自然 延伸是Flask架構中沒有包含資料庫方面的構件,無論ORM還是其他。關注點
Time of Update: 2016-10-17
Numpy是什嗎?Numpy是Python的一個科學計算的庫,提供了矩陣運算的功能,其一般與Scipy、matplotlib一起使用。它可用來儲存和處理大型矩陣,比Python自身的嵌套列表(nested list structure)結構要高效的多(該結構也可以用來表示矩陣(matrix))。NumPy(Numeric Python)提供了許多進階的數值編程工具,如:矩陣資料類型、向量處理,以及精密的運算庫。專為進行嚴格的數文書處理而產生。多為很多大型金融公司使用,以及核心的科學計算群組織如:
Time of Update: 2016-10-17
Python IDE PyCharm的快速鍵大全1、編輯(Editing)Ctrl + Space 基本的程式碼完成(類、方法、屬性)Ctrl + Alt + Space 快速匯入任意類Ctrl + Shift + Enter 陳述式完成Ctrl + P 參數資訊(在方法中調用參數)Ctrl + Q 快速查看文檔Shift + F1 外部文檔Ctrl + 滑鼠 簡介Ctrl + F1 顯示錯誤描述或警告資訊Alt + Insert 自動產生代碼Ctrl + O 重新方法Ctrl + Alt +
Time of Update: 2016-10-17
python的新式類是2.2版本引進來的,我們可以將之前的類叫做經典類或者舊式類。為什麼要在2.2中引進new style class呢?官方給的解釋是:為了統一類(class)和類型(type)。在2.2之前,比如2.1版本中,類和類型是不同的,如a是ClassA的一個執行個體,那麼a.__class__返回 ‘ class __main__.ClassA‘
Time of Update: 2016-10-17
Python是一種非常富有表現力的語言。它為我們提供了一個龐大的標準庫和許多內建模組,協助我們快速完成工作。然而,許多人可能會迷失在它提供的功能中,不能充分利用標準庫,過度重視單行指令碼,以及誤解Python基本結構等。本文是一個關於Python新手可能會陷入的一些陷阱的不完全列表。1.不知道Python版本這是一個在StackOverflow上反覆出現的問題。許多人能寫出在某個版本上完美工作的代碼,但在他們在自己的系統上安裝有不同版本的Python。要確保你知道你正在使用的Python版本。你
Time of Update: 2016-10-17
Python隨機產生驗證碼的方法有很多,今天給大家列舉兩種,大家也可以在這個基礎上進行改造,設計出適合自己的驗證碼方法方法一:利用range方法,對於range方法不清楚的同學,請參考文章《python開發的range()函數》# -*- coding: utf-8 -*-import randomdef generate_verification_code(len=6): ''' 隨機產生6位的驗證碼 ''' # 注意:
Time of Update: 2016-10-17
raw_input和input兩個均是 python 的內建函數,通過讀取控制台的輸入與使用者實現互動。但他們的功能不盡相同。下面舉兩個例子,來說明兩者使用上的不同。例子1Python 2.7.5 (default, Nov 18 2015, 16:26:36) [GCC 3.4.5 20051201 (Red Hat 3.4.5-2)] on linux2Type "help", "copyright", "credits" or "license" for more information.
Time of Update: 2016-10-17
Python字串關鍵點有下面幾點:1.一些引號分隔的字元你可以把字串看出是Python的一種資料類型,在Python單引號或者雙引號之間的字元數組或者連續的字元集合。在python中最常用的引號為('')和("")。兩者的功能是一樣的,字串的實際內容是引號之間的字元,不包含引號本身。2.不可分字元類型字串是唯一的字面上的字元序列類型。不過,字元本身並不是一種類型,所以,字串是字元儲存操作的最基本單位。3.字串格式化操作符(%)提供類似printf()的功能字串格式化操作符提供了一
Time of Update: 2016-10-17
不管是在學習還是工作過程中,人都會犯錯。雖然Python的文法簡單、靈活,但也一樣存在一些不小的坑,一不小心,初學者和資深Python程式員都有可能會栽跟頭。本文為大家分享了10大常見錯誤,需要的朋友可以參考下常見錯誤1:錯誤地將運算式作為函數的預設參數在Python中,我們可以為函數的某個參數設定預設值,使該參數成為選擇性參數。雖然這是一個很好的語言特性,但是當預設值是可變類型時,也會導致一些令人困惑的情況。我們來看看下面這個Python函數定義:>>> def foo(bar=[]):