Alan Moment
  • Introduction
  • 智慧家庭
    • Fibaro 系統整合便宜的 IP Cam
  • Life
    • 用AWS Glacier做最後的冷資料備份
    • 如何在macOS修改影音檔日期
  • 3D Printer
    • Atom2.5EX 之血淚組裝
    • 列印經驗紀錄
      • SpoolHolder
    • 製圖經驗
      • Turntable
      • 重製Atom3散熱風扇
    • 線材經驗
      • PETG
        • 首測
  • Kubernetes
    • 使用Kops建立Kubernetes
    • 使用HelmV2
    • Kubernetes的技術問題排解技巧
  • PHP
    • 管理PHP Library的利器Composer
    • PHP安裝JSON
    • Phalcon首發
    • Gearman Job Worker for PHP
    • Laravel 首發 !!!
    • Data Encrypt & Decrypt
  • Python
    • Django + Python 開發環境建置
  • Android
    • Android zipcode library of maven
    • Android use foreign object of OrmLite
    • ProgressBar while loading ListView of Android
    • AsyncTask download image by the Android
    • Use Thread control Android UI
    • Android Universal Image Loader
  • Ruby on Rails
    • Install rmagick on the Windows of Ruby on Rails
    • Ruby on Rails deploy on Heroku
    • Ruby on Rails 小問題
  • React
    • Ditched AngularJS for React
  • Tessel
    • 很潮的 Tessel
    • Connect to Slack on Tessel
    • Baby Help on Tessel
  • Node.js
    • CentOS 安装 Node.js 0.8.5
  • OOAD
    • Injection Principle Design Pattern
  • Linux
    • SSH免密碼登入遠端電腦
    • Apache與Tomcat的結合
    • The bash auto build
  • Hadoop
    • CentOS 5.5 + Hadoop 0.20
    • CentOS 5.5 + Hbase 0.94.8
    • Hadoop + Hbase 叢集環境
    • Hadoop 溝通橋梁之 Thrift 0.7
    • 使用MapReduce之替代方案Hive
    • 使用Sqoop將MySQL資料匯入Hbase
  • Database
    • 吃足苦頭的Mssql
  • IDE
    • Netbeans console中文亂碼解決方法
    • 用NetBeans開發Ruby On Rails
  • Agile
    • 淺談我的Agile
  • 協作工具
    • 建置專屬自己的Github之Gitlab
    • Gitlab 4.1 upgrade to Gitlab 6.0超偷懶方法
    • Install Phabricator and run on the Gitlab
    • Phabricator 基本應用
    • Phabricator review code應用
    • Redmine之基本建置與Scrum應用
    • Omnibus Gitlab 7 基礎操作
    • Git Push Notify to Slack on Gitlab
    • phabricator-extensions-Sprint 無法抓到正確的 Story Points
  • 其他
    • 慶祝Octopress開張
    • 走在時尚的尖端! Ghost
    • 大搬家
    • 網頁教學初體驗
    • 網路攻擊很猖狂
Powered by GitBook
On this page
  • Pip Install
  • Virtualenv Install
  • Virtualenvwrapper
  • Build Django
  • Django TestCase
  • Reference

Was this helpful?

  1. Python

Django + Python 開發環境建置

PreviousPythonNextAndroid

Last updated 3 years ago

Was this helpful?

開發 Pythone 時也可以像 rvm,nvm 的虛擬環境就是 Virtualenv 了,對於我這種有潔癖的人是超級需要的啊!

Pip Install

download

python get-pip.py

Virtualenv Install

pip install virtualenv

Linux or OS X need sudo

setup

virtualenv ENV
source ENV/bin/activate

啟動 virtualenv,從此只要在 virtualenv 下面安裝的 package 都只會存在于這個 virtualenv 當中。

Virtualenvwrapper

  1. 將所有的虛擬環境整合在一個目錄下。

  2. 管理(新增、移除、複製)所有的虛擬環境。

  3. 可以使用一個命令切換虛擬環境。

  4. Tab 補全虛擬環境的名字。

  5. 每個操作都提供允許使用者自訂的 hooks。

  6. 可撰寫容易分享的 extension plugin 系統。

安裝

pip install virtualenvwrapper

新增虛擬環境

mkvirtualenv [-i package] [-r requirements_file] [virtualenv options] ENVNAME

設定路徑

export PIP_VIRTUALENV_BASE=$WORKON_HOME

列出所有的虛擬環境

lsvirtualenv

移除虛擬環境

rmvirtualenv ENVNAME

複製虛擬環境

cpvirtualenv ENVNAME TARGETENVNAME

啟動虛擬環境

workon [environment_name]

離開虛擬環境

deactivate

Python 3

which python3
mkvirtualenv --python=/usr/bin/python3 python3

如果想要避免 pip 在沒有進入虛擬環境時被使用,可以在 ~/.bashrc 加上:

export PIP_REQUIRE_VIRTUALENV=true

Build Django

install

pip install django

requirements

pip install -r requirements.txt
pip freeze > requirements.txt

start

django-admin.py startproject PROJECT_NAME

run

python manage.py runserver

create app

python manage.py startapp APP_NAME

model

settings.py

INSTALLED_APPS = (
  ...
  'customer'
  ...
)

models.py

class Customer(models.Model):
  content = models.TextField()

  def __unicode__(self):
    return self.content

同步資料庫

python manage.py syncdb

Your models have changes

python manage.py makemigrations

generate

python manage.py migrate

single change

python manage.py makemigrations MODEL

rollback

python manage.py migrate system zero

Django TestCase

console usage

python manage.py test

Reference

http://www.haogongju.net/art/2395132

Feb 27th, 2015 12:16:10am

get-pip.py