第一個django項目
環境:
- Python 2.7.10
- Django 1.11.17
django管理工具
可以通過django-admin.py
/ django-admin
來管理django項目。
創建第一個django項目
$ django-admin startproject HelloWorld
$ cd HelloWorld
$ tree
.
├── HelloWorld
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── manage.py
1 directory, 5 files
目錄說明:
- HelloWorld: 項目的容器。
- manage.py: 一個實用的命令行工具,可讓你以各種方式與該 Django 項目進行交互。
- HelloWorld/init.py: 一個空文件,告訴 Python 該目錄是一個 Python 包。
- HelloWorld/settings.py: 該 Django 項目的設置/配置。
- HelloWorld/urls.py: 該 Django 項目的 URL 聲明; 一份由 Django 驅動的網站"目錄"。
- HelloWorld/wsgi.py: 一個 WSGI 兼容的 Web 服務器的入口,以便運行你的項目。
接下來啓動服務器:
$ python manage.py runserver 127.0.0.1:8001
127.0.0.1是本機地址,8001是指定的端口號,如果不指定,默認是8000.
瀏覽器打開127.0.0.1:8001
:
視圖和URL配置
在創建的HelloWorld目錄下的HelloWorld目錄下,新建一個view.py文件,代碼如下
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello World !")
然後將urls.py更改如下
from django.conf.urls import url
from django.contrib import admin
from . import view # 導入view
urlpatterns = [
# url(r'^admin/', admin.site.urls), 註釋掉
url(r'^$', view.hello), # 新增此行,代表指向view.py中的hello函數
]
啓動項目後,在瀏覽器訪問:
整個目錄結構如下:
.
├── HelloWorld
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── settings.py
│ ├── settings.pyc
│ ├── urls.py
│ ├── urls.pyc
│ ├── view.py
│ ├── view.pyc
│ ├── wsgi.py
│ └── wsgi.pyc
├── db.sqlite3
└── manage.py
我們也可以根據情況修改urls.py中的url正則匹配,比如:
url(r'^hello$', view.hello),
這樣URL應該爲127.0.0.1:8001/hello
URL函數
Django url() 可以接收四個參數,分別是兩個必選參數:regex、view 和兩個可選參數:kwargs、name,接下來詳細介紹這四個參數。
- regex: 正則表達式,與之匹配的 URL 會執行對應的第二個參數 view。
- view: 用於執行與正則表達式匹配的 URL 請求。
- kwargs: 視圖使用的字典類型的參數。
- name: 用來反向獲取 URL。