虛環(huán)境準備
參考: Ubuntu中安裝Python3和virtualenv
初始化Django項目
- 進入虛環(huán)境
mkdir myproject
cd myproject
virtualenv venv -p python3
source venv/bin/activate
- 安裝Django
pip install django
- 初始化項目
django-admin startproject myproject
cd myproject
django-admin startapp boards
Hello World!
- 編輯配置
在myproject/settings.py中找到INSTALLED_APPS
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'boards', # 譯者注:建議和作者一樣空一行來區(qū)別內置app和自定義的app
]
- 編輯視圖
打開boards/views.py
from django.shortcuts import render
# Create your views here.
from django.http import HttpResponse
def home(req):
return HttpResponse('Hello World!')
- 編輯url
打開myproject/url.py
from django.contrib import admin
from django.urls import path
from boards import views
urlpatterns = [
path('', views.home, name='home'),
path('admin/', admin.site.urls),
]
啟動服務器
python manage.py runserver本地驗證
curl -i -k localhost:8000/;echo
輸出:
HTTP/1.1 200 OK
Date: Mon, 02 Apr 2018 15:38:45 GMT
Server: WSGIServer/0.2 CPython/3.6.5
Content-Type: text/html; charset=utf-8
X-Frame-Options: SAMEORIGIN
Content-Length: 12
Hello World!
大功告成~
目錄結構說明
myproject/
|-- myproject/
| |-- boards/ <-- 我們新的Django應用(app)!
| | |-- migrations/
| | | +-- __init__.py
| | |-- __init__.py
| | |-- admin.py
| | |-- apps.py
| | |-- models.py
| | |-- tests.py
| | +-- views.py
| |-- myproject/
| | |-- __init__.py
| | |-- settings.py
| | |-- urls.py
| | |-- wsgi.py
| +-- manage.py
+-- venv/
-
myproject:
- manage.py:使用django-admin命令行工具的快捷方式。它用于運行與我們項目相關的管理命令。我們將使用它來運行開發(fā)服務器,運行測試,創(chuàng)建遷移等等。
- init.py:這個空文件告訴python這個文件夾是一個python包。
- settings.py:這個文件包含了所有的項目配置。將來我們會一直提到這個文件!
- urls.py:這個文件負責映射我們項目中的路由和路徑。例如,如果你想在訪問URL / about/ 時顯示某些內容,則必須先在這里做映射關系。
- wsgi.py:該文件是用于部署的簡單網(wǎng)關接口。你可以暫且先不用關心她的內容,就先讓他在那里就好了。
-
boards:
- migrations/:在這個文件夾里,Django會存儲一些文件以跟蹤你在models.py文件中創(chuàng)建的變更,用來保持數(shù)據(jù)庫和models.py的同步。
- admin.py:這個文件為一個django內置的應用程序Django Admin的配置文件。
- apps.py:這是應用程序本身的配置文件。
- models.py:這里是我們定義Web應用程序數(shù)據(jù)實例的地方。models會由Django自動轉換為數(shù)據(jù)庫表。
- tests.py:這個文件用來寫當前應用程序的單元測試。
- views.py:這是我們處理Web應用程序請求(request)/響應(resopnse)周期的文件。
停止服務器 退出虛環(huán)境
- 停止服務器
control + c - 退出虛環(huán)境
deactivate