Python知識分享網(wǎng) - 專業(yè)的Python學習網(wǎng)站 學Python,上Python222
Python Django 零基礎(chǔ)從零到一部署服務(wù),Hello Django!全文件夾目錄和核心代碼!
匿名網(wǎng)友發(fā)布于:2023-07-05 15:44:43
(侵權(quán)舉報)

環(huán)境搭建(按需)

首先,我們需要創(chuàng)建一個適合開發(fā)的環(huán)境。在Python開發(fā)中,我們通常會使用虛擬環(huán)境來保持工作空間的整潔。以下是創(chuàng)建和激活虛擬環(huán)境的步驟:

 

# 創(chuàng)建虛擬環(huán)境
python3 -m venv myenv

# 激活虛擬環(huán)境(Linux/macOS)
source myenv/bin/activate

# 激活虛擬環(huán)境(Windows)
.\myenv\Scripts\activate

 

在虛擬環(huán)境中,我們可以安裝Django:

 

pip install Django

 

這將會安裝Django并且保證它不會影響到系統(tǒng)中的其他Python項目。

創(chuàng)建項目

安裝完成后,我們可以使用Django的命令行工具來創(chuàng)建一個新的項目:

 

django-admin startproject myproject

 

這將會在當前目錄下創(chuàng)建一個名為myproject的文件夾,其中包含了管理Django項目所需的一些文件。

創(chuàng)建應用

在Django中,一個項目可以包含多個應用,每個應用都是一個Python模塊,包含了視圖、模型、模板、路由等一系列功能。我們首先創(chuàng)建一個名為myapp的應用:

 

cd myproject
python manage.py startapp myapp

 

這會在myproject目錄下創(chuàng)建一個myapp的目錄,包含了管理應用所需的一些文件。

定義視圖

接下來,我們需要定義視圖來處理HTTP請求。在myapp/views.py文件中,我們可以定義一個視圖來處理GET和POST請求:

 

from django.http import JsonResponse
from django.views.decorators.csrf import csrf_exempt

@csrf_exempt
def hello(request):
    if request.method == 'GET':
        return JsonResponse({'message': 'Hello, Django!'})
    elif request.method == 'POST':
        return JsonResponse({'message': 'POST request received.'})

 

這里,我們使用了JsonResponse來返回JSON響應,用@csrf_exempt來豁免CSRF保護,以便于我們在測試時能方便地發(fā)送POST請求。

配置路由

視圖定義完成后,我們還需要配置路由來將URL映射到視圖。在myapp/urls.py

文件中,我們可以定義路由:

 

from django.urls import path

from . import views

urlpatterns = [
    path('hello/', views.hello),
]

 

然后,在myproject/urls.py文件中,我們需要包含myapp的路由:

 

from django.urls import include, path

urlpatterns = [
    path('myapp/', include('myapp.urls')),
]

 

這樣,訪問/myapp/hello/URL時,就會調(diào)用我們定義的hello視圖。

啟動服務(wù)

最后,我們可以啟動Django服務(wù)來測試我們的應用:

 

python manage.py runserver

 

現(xiàn)在,你可以使用瀏覽器訪問http://localhost:8000/myapp/hello/,你將看到返回的{"message": "Hello, Django!"}。你也可以使用工具(如curl或Postman)發(fā)送POST請求,你將看到返回的{"message": "POST request received."}。

恭喜你!你已經(jīng)成功地從零開始部署了一個使用Django框架的Python服務(wù)。

項目文件夾和代碼一覽

最后提供給大家,在我們的Django項目中,我們會看到以下文件結(jié)構(gòu):

 

myproject/
├── manage.py
├── myapp/
│   ├── __init__.py
│   ├── admin.py
│   ├── apps.py
│   ├── migrations/
│   ├── models.py
│   ├── tests.py
│   ├── urls.py
│   └── views.py
└── myproject/
    ├── __init__.py
    ├── asgi.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

 

在這個結(jié)構(gòu)中,我們主要關(guān)注的是myapp/views.py,myapp/urls.py,和myproject/urls.py這三個文件,因為這三個文件是我們在部署Django服務(wù)中修改的主要文件。

myapp/views.py

myapp/views.py文件中,我們定義了一個hello視圖來處理GET和POST請求。完整的代碼如下:

 

from django.http import JsonResponse
from django.views.decorators.csrf import csrf_exempt

@csrf_exempt
def hello(request):
    if request.method == 'GET':
        return JsonResponse({'message': 'Hello, Django!'})
    elif request.method == 'POST':
        return JsonResponse({'message': 'POST request received.'})

 

myapp/urls.py

myapp/urls.py文件中,我們定義了一個路由來將/hello/的URL映射到hello視圖。如果文件不存在,請創(chuàng)建并添加以下內(nèi)容:

 

from django.urls import path

from . import views

urlpatterns = [
    path('hello/', views.hello),
]

 

myproject/urls.py

myproject/urls.py文件中,我們包含了myapp的路由,將所有以/myapp/開頭的URL映射到myapp的路由。完整的代碼如下:

 

from django.urls import include, path

urlpatterns = [
    path('myapp/', include('myapp.urls')),
]

 

以上便是我們創(chuàng)建的Django服務(wù)的全部代碼和文件結(jié)構(gòu)。

轉(zhuǎn)載自:https://www.cnblogs.com/xfuture/p/17525268.html