亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

全面剖析Python的Django框架中的項目部署技巧

 更新時間:2015年04月16日 16:10:29   投稿:goldensun  
這篇文章主要全面剖析了Python的Django框架的部署技巧,包括Fabric等自動化部署和建立單元測試等方面,強烈推薦!需要的朋友可以參考下

from fabric.api import lcd, localdef deploy():
  with lcd('/path/to/my/prod/area/'):
 
    # With git...
    local('git pull /my/path/to/dev/area/')
 
    # With Mercurial...
    local('hg pull /my/path/to/dev/area/')
    local('hg update')
 
    # With both
    local('python manage.py migrate myapp')
    local('python manage.py test myapp')
    local('/my/command/to/restart/webserver')

這將會從開發(fā)主分支拉回(pull)變更,運行你實施的任何遷移,運行測試,并且重啟你的web服務(wù)器。這些只需在命令行中的一條簡單的命令。如果其中的一條命令失敗了,腳本將會停止運行并報告發(fā)生的事情。一旦你修復(fù)了這個問題,無需再手工運行其余步驟。因為它們是冪等的,你只需重新運行部署命令,一切都將恢復(fù)正常。

(譯注:idempotent 冪等,某一元運算為冪等的時,其作用在任一元素兩次后會和其作用一次的結(jié)果相同。)

注意上面的代碼是假設(shè)你部署在相同的機器上。如果不是這樣的話,這個文件很可能相同,但是會使用Fabric的run函數(shù)來替代local。參見Fabric 文檔 獲取更多細節(jié)。

現(xiàn)在我們創(chuàng)建了fabfile.py,該怎樣實際部署呢?很簡單。只需運行:
 

$ fab prepare_deployment$ fab deploy

在技術(shù)層面,這些可以合并為一個單獨的命令,但是我覺得最好明確的準備你的部署工作再部署它,因為這樣就使你更關(guān)注于你正在做的事情。

建立單元測試

如果你但凡聽說過我,可能就會知道我對自動測試非常著迷。無論如何,有太多的Django項目沒有寫任何測試。這是需要預(yù)先花費一點時間去做的事情,但是卻給未來帶來巨大的紅利。如果你曾經(jīng)使用print語句調(diào)試過你的應(yīng)用,在恰當?shù)牡胤接煤线m的測試,這樣就將給你節(jié)省許多時間。

對于Django,Python的單元測試模塊完全夠用了。下面是一個app的一個最小的測試例子:
 

import datetimefrom django.test import TestCasefrom myapp.models import Postclass BlogPostTestCase(TestCase):
  def setUp(self):
    Post.objects.create(id=1, 
      title='Starting a Django 1.6 Project the Right Way', 
      date=datetime.datetime.now(),
      category='Django')
    Post.objects.create(id=2, 
      title='Python\'s Hardest Problem', 
      date=datetime.datetime.now(),
      category='Python')
 
  def test_posts_have_category(self):
    """Animals that can speak are correctly identified"""
    first_post = Post.objects.get(id=1)
    second_post = Post.objects.get(id=2)
    self.assertEqual(first_post.category, 'Django')
    self.assertEqual(second_post.category, 'Python')

你可以將這些代碼寫到名為test_<appname>.py的文件中,并將其放到app測試時所在的目錄。為了為app運行這些測試,只需運行./manage.py test <appname>。我們創(chuàng)建的fabfile文件已經(jīng)知道在部署前運行這些測試,所以不需要再做任何別的修改了。
享受你的新的Django應(yīng)用程序

就是這些!你已經(jīng)開始了實際的開發(fā)?,F(xiàn)在真正的樂趣才會開始。只需記?。航?jīng)常提交,測試一切,還有不要在你提供服務(wù)的地方書寫代碼。無論從現(xiàn)在起會發(fā)生什么,你肯定已經(jīng)以正確的方式開始了一個Django1.6 項目!

 

相關(guān)文章

  • Python實現(xiàn)PDF轉(zhuǎn)MP3的示例代碼

    Python實現(xiàn)PDF轉(zhuǎn)MP3的示例代碼

    我們平??吹胶芏辔募际荘DF格式,網(wǎng)上的各類書籍多為此格式。有時候不方便閱讀,或者怕費眼睛傷頸椎,那么有沒有一種方法可以把它變?yōu)橐纛l,本文就來和大家詳細講講
    2023-05-05
  • 探秘TensorFlow 和 NumPy 的 Broadcasting 機制

    探秘TensorFlow 和 NumPy 的 Broadcasting 機制

    這篇文章主要介紹了探秘TensorFlow 和 NumPy 的 Broadcasting 機制,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Python?socket如何解析HTTP請求內(nèi)容

    Python?socket如何解析HTTP請求內(nèi)容

    這篇文章主要介紹了Python?socket如何解析HTTP請求內(nèi)容,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • pycharm運行程序時在Python console窗口中運行的方法

    pycharm運行程序時在Python console窗口中運行的方法

    今天小編就為大家分享一篇pycharm運行程序時在Python console窗口中運行的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • python中文件的創(chuàng)建與寫入實戰(zhàn)代碼

    python中文件的創(chuàng)建與寫入實戰(zhàn)代碼

    這篇文章主要給大家介紹了關(guān)于python中文件的創(chuàng)建與寫入的相關(guān)資料,在Python中文件寫入提供了不同的模式和方法來滿足不同的需求,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-10-10
  • Django創(chuàng)建一個后臺的基本步驟記錄

    Django創(chuàng)建一個后臺的基本步驟記錄

    這篇文章主要給大家介紹了關(guān)于Django創(chuàng)建一個后臺的基本步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Python中用Decorator來簡化元編程的教程

    Python中用Decorator來簡化元編程的教程

    這篇文章主要介紹了Python中用Decorator來簡化元編程的教程,來自于IBM官方開發(fā)者技術(shù)文檔,需要的朋友可以參考下
    2015-04-04
  • python中的getattribute 、getattr、setattr方法詳解

    python中的getattribute 、getattr、setattr方法詳解

    這篇文章主要介紹了python中的getattribute 、getattr、setattr方法詳解,python類中默認有一些特殊方法,這篇文章記錄一下特殊方法的功能及用法,需要的朋友可以參考下
    2023-11-11
  • 簡述Python2與Python3的不同點

    簡述Python2與Python3的不同點

    在Python2和Python3中都提供print()方法來打印信息,但兩個版本間的print稍微有差異。下面通過本文給大家介紹Python2與Python3的不同點,需要的朋友參考下
    2018-01-01
  • python顏色隨機生成器的實例代碼

    python顏色隨機生成器的實例代碼

    這篇文章主要介紹了python顏色隨機生成器的實例代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01

最新評論