Django 創(chuàng)建第一個項目

Django 創(chuàng)建第一個項目

本章我們將介紹Django 管理工具及如何使用 Django 來創(chuàng)建項目,第一個項目我們以 HelloWorld 來命令項目。

測試版本說明:

Python 3.6.0

Django 2.1.7

Django 管理工具

安裝 Django 之后,您現(xiàn)在應(yīng)該已經(jīng)有了可用的管理工具?django-admin。我們可以使用?django-admin?來創(chuàng)建一個項目:

我們可以來看下django-admin 的命令介紹:

$ django-admin

Type 'django-admin help <subcommand>' for help on a specific subcommand.

Available subcommands:

[django]

? ? check

? ? compilemessages

? ? createcachetable

? ? dbshell

? ? diffsettings

? ? dumpdata

? ? flush

? ? inspectdb

? ? loaddata

? ? makemessages

? ? makemigrations

? ? migrate

? ? runserver

? ? sendtestemail

? ? shell

? ? showmigrations

? ? sqlflush

? ? sqlmigrate

? ? sqlsequencereset

? ? squashmigrations

? ? startapp

? ? startproject

? ? test

? ? testserver

……省略部分……

創(chuàng)建第一個項目

使用 django-admin 來創(chuàng)建 HelloWorld 項目:

django-admin startproject HelloWorld

創(chuàng)建完成后我們可以查看下項目的目錄結(jié)構(gòu):

$ cd HelloWorld/

$ tree

.

|-- HelloWorld

|? |-- __init__.py

|? |-- settings.py

|? |-- urls.py

|? `-- wsgi.py

`-- manage.py

目錄說明:

HelloWorld:?項目的容器。

manage.py:?一個實用的命令行工具,可讓你以各種方式與該 Django 項目進(jìn)行交互。

HelloWorld/__init__.py:?一個空文件,告訴 Python 該目錄是一個 Python 包。

HelloWorld/settings.py:?該 Django 項目的設(shè)置/配置。

HelloWorld/urls.py:?該 Django 項目的 URL 聲明; 一份由 Django 驅(qū)動的網(wǎng)站"目錄"。

HelloWorld/wsgi.py:?一個 WSGI 兼容的 Web 服務(wù)器的入口,以便運行你的項目。

接下來我們進(jìn)入 HelloWorld 目錄輸入以下命令,啟動服務(wù)器:

python3 manage.py runserver 0.0.0.0:8000

0.0.0.0 讓其它電腦可連接到開發(fā)服務(wù)器,8000 為端口號。如果不說明,那么端口號默認(rèn)為 8000。

在瀏覽器輸入你服務(wù)器的 ip(這里我們輸入本機 IP 地址:?127.0.0.1:8000) 及端口號,如果正常啟動,輸出結(jié)果如下:


視圖和 URL 配置

在先前創(chuàng)建的 HelloWorld 目錄下的 HelloWorld 目錄新建一個 view.py 文件,并輸入代碼:

HelloWorld/HelloWorld/view.py 文件代碼:

from django.http import HttpResponse def hello(request):

? ? return HttpResponse("Hello world ! ")

接著,綁定 URL 與視圖函數(shù)。打開 urls.py 文件,刪除原來代碼,將以下代碼復(fù)制粘貼到 urls.py 文件中:

HelloWorld/HelloWorld/urls.py 文件代碼:

from django.conf.urls import url?

from . import view

urlpatterns = [? ? url(r'^$', view.hello),]

整個目錄結(jié)構(gòu)如下:

$ tree

.

|-- HelloWorld

|? |-- __init__.py

|? |-- __init__.pyc

|? |-- settings.py

|? |-- settings.pyc

|? |-- urls.py? ? ? ? ? ? ? # url 配置

|? |-- urls.pyc

|? |-- view.py? ? ? ? ? ? ? # 添加的視圖文件

|? |-- view.pyc? ? ? ? ? ? # 編譯后的視圖文件

|? |-- wsgi.py

|? `-- wsgi.pyc

`-- manage.py

完成后,啟動 Django 開發(fā)服務(wù)器,并在瀏覽器訪問打開瀏覽器并訪問:

need-to-insert-img

我們也可以修改以下規(guī)則:

HelloWorld/HelloWorld/urls.py 文件代碼:

from django.urls import path from . import view urlpatterns = [? ? path('hello/', view.hello),]

通過瀏覽器打開?http://127.0.0.1:8000/hello,輸出結(jié)果如下:

need-to-insert-img

注意:項目中如果代碼有改動,服務(wù)器會自動監(jiān)測代碼的改動并自動重新載入,所以如果你已經(jīng)啟動了服務(wù)器則不需手動重啟。

path() 函數(shù)

Django path() 可以接收四個參數(shù),分別是兩個必選參數(shù):route、view 和兩個可選參數(shù):kwargs、name。

語法格式:

path(route, view, kwargs=None, name=None)

route: 字符串,表示 URL 規(guī)則,與之匹配的 URL 會執(zhí)行對應(yīng)的第二個參數(shù) view。

view: 用于執(zhí)行與正則表達(dá)式匹配的 URL 請求。

kwargs: 視圖使用的字典類型的參數(shù)。

name: 用來反向獲取 URL。

Django2. 0中可以使用 re_path() 方法來兼容 1.x 版本中的?url()?方法,一些正則表達(dá)式的規(guī)則也可以通過 re_path() 來實現(xiàn) 。

from django.urls import include, re_path

urlpatterns = [

? ? re_path(r'^index/$', views.index, name='index'),

? ? re_path(r'^bio/(?P<username>\w+)/$', views.bio, name='bio'),

? ? re_path(r'^weblog/', include('blog.urls')),

? ? ...

]

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容