摘要:在這里的腳本有,部署到預發(fā)布生產(chǎn)服務器,清理目錄,壓縮,備份數(shù)據(jù)庫,在本地,等等。目錄存儲了所有數(shù)據(jù)庫,,,,等等的配置文件。我使用做所有的排序任務,從發(fā)送郵件到從拉取數(shù)據(jù)。當我第一次開始開發(fā)和的時候,我使用,但是已經(jīng)把所有事情移植進了。
本文原文是 11 Things I Wish I Knew About Django Development Before I Started My Company
以正確的目錄結(jié)構(gòu)開始:開始,我看一些不同的開源項目作為指導( 1 和 2),讀一些博客,但是依然沒有一個最佳的方式來開始一個 Django 項目。這是我當前使用的:
apps 目錄存儲所有你的定制 django app,vendor 目錄存儲了你不想使用 pip 或 easy_install 安裝(或者是不能安裝)的 app。bin 目錄存儲了所有的 bash 腳本幫助你自動化你的開發(fā)。在這里的腳本有,部署到預發(fā)布&生產(chǎn)服務器,清理目錄,壓縮 assets,備份數(shù)據(jù)庫,start/stop celery(在本地),等等。config 目錄存儲了所有數(shù)據(jù)庫,webservers,munin,celery,supervisor 等等的配置文件。media 目錄存儲了所有靜態(tài) assets,比如 javascript, css, images, fonts 等等。 template 目錄存儲了所有使得你的站點更漂亮的 html 模板。最后,static 目錄是你為了放進生產(chǎn)環(huán)境壓縮了的 assets。我甚至為你在 github 上創(chuàng)建了一個模板,去給它加?吧。
異步任務和定時任務(不需要使用 unix crontab)使用 Celery:開發(fā)的頭兩個星期,你可能不需要把一些事情推送到異步進程,但是當你的非技術(shù)合作伙伴開始問網(wǎng)站為什么掛掉了,就是時候使用 celery 了(如果你想要更輕量的解決方案,有另外的選項)。任何的不需要同步的調(diào)用都可以放進隊列,并最終被一個 celery worker 消費。我推薦使用 redis 作為 celery 后端(看下面) - 不要浪費你的時間使用 RabbitMQ,除非你有一個更好的原因。我使用 celery 做所有的排序任務,從發(fā)送郵件到從 Facebook API 拉取數(shù)據(jù)。使用 celery 的另一個興趣點是你可以設置周期性的任務來作為一個定時任務。當我第一次開始開發(fā) Math 和 Pencil 的時候,我使用 UNIX crontab ,但是已經(jīng)把所有事情移植進了 celery。
使用 Gunicorn 代替你 webserver 的 Apache: 我知道 - Apache 是經(jīng)過實戰(zhàn)檢驗的(加上它在世界范圍內(nèi)是最受歡迎的),但是兩年前,當我不知道的時候,就已經(jīng)是非常復雜的設置了。我僅僅想讓網(wǎng)站運行并忘記我代碼中的打印語句 - 哎喲 - 就讓我的網(wǎng)站出現(xiàn)了 500。Apache 有大量的配置設置需要時間去弄懂。Gunicorn 是非常簡單的,并且能很好的工作。大量的網(wǎng)站大規(guī)模使用它,因此如果你僅僅創(chuàng)建下一個 Instagram,你會明白你的服務器不會讓你失敗。
更新:假設 NGINX 是管理所有的請求和服務靜態(tài)內(nèi)容
不要害怕使用 MongoDB 作為你的主要數(shù)據(jù)存儲:
使用命名的 URLs,reverse,和 url template tag
設置正確的 settings.py 文件
使用 supervisor 做進程監(jiān)控
挑選正確的 AJAX/JSON 方法
使用 Redis - 因為它最終將變成你最好的朋友
使用 munin 和 statds 做進程監(jiān)控
使用 jammit 壓縮靜態(tài)的 asset
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/37484.html
摘要:源網(wǎng)頁說明文檔所有關(guān)于你應該且必須知道的。性能和優(yōu)化概述的兼容性旨在兼容多種不同版本的支持的兼容性地理框架打算成為世界級的地理框架。其目標是盡可能簡單地構(gòu)建應用程序并利用空間使能數(shù)據(jù)的功能。 源網(wǎng)頁:https://docs.djangoproject.co... django說明文檔 所有關(guān)于django你應該且必須知道的。 第一步 你是否django編程新手,那就從此開始!從零開始...
摘要:數(shù)據(jù)科學包括機器學習,數(shù)據(jù)分析和數(shù)據(jù)可視化首先,機器學習是什么解釋機器學習的最佳方法是給你一個簡單的例子。機器學習算法的工作方式大致相同。這是一個人們競爭為特定問題構(gòu)建最佳機器學習算法的網(wǎng)站。 showImg(https://segmentfault.com/img/remote/1460000018887722); 來源 | 愿碼(ChainDesk.CN)內(nèi)容編輯 愿碼Sloga...
摘要:您的應用程序的目錄,它包含模式和回調(diào)函數(shù)之間的簡單映射。更性感自動生成的管理功能這個概述幾乎沒有觸及表面。 django概述 因為django是在快節(jié)奏的編輯環(huán)境下開發(fā)的,它旨在使常見的Web開發(fā)任務變得快速而簡單。 這是一個關(guān)于如何用django編寫數(shù)據(jù)庫驅(qū)動的Web應用程序的非正式概述。 本文檔的目的是為您提供足夠的技術(shù)細節(jié)來了解django的工作原理,但這不是一個教程或參考 - ...
閱讀 2308·2021-11-17 09:33
閱讀 2840·2021-11-12 10:36
閱讀 3476·2021-09-27 13:47
閱讀 964·2021-09-22 15:10
閱讀 3563·2021-09-09 11:51
閱讀 1489·2021-08-25 09:38
閱讀 2810·2019-08-30 15:55
閱讀 2665·2019-08-30 15:53