Python知识分享网 - 专业的Python学习网站 学Python,上Python222
Python Django 零基础从零到一部署服务,Hello Django!全文件夹目录和核心代码!
匿名网友发布于:2023-07-05 15:44:43
(侵权举报)

环境搭建(按需)

首先,我们需要创建一个适合开发的环境。在Python开发中,我们通常会使用虚拟环境来保持工作空间的整洁。以下是创建和激活虚拟环境的步骤:

 

# 创建虚拟环境
python3 -m venv myenv

# 激活虚拟环境(Linux/macOS)
source myenv/bin/activate

# 激活虚拟环境(Windows)
.\myenv\Scripts\activate

 

在虚拟环境中,我们可以安装Django:

 

pip install Django

 

这将会安装Django并且保证它不会影响到系统中的其他Python项目。

创建项目

安装完成后,我们可以使用Django的命令行工具来创建一个新的项目:

 

django-admin startproject myproject

 

这将会在当前目录下创建一个名为myproject的文件夹,其中包含了管理Django项目所需的一些文件。

创建应用

在Django中,一个项目可以包含多个应用,每个应用都是一个Python模块,包含了视图、模型、模板、路由等一系列功能。我们首先创建一个名为myapp的应用:

 

cd myproject
python manage.py startapp myapp

 

这会在myproject目录下创建一个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保护,以便于我们在测试时能方便地发送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时,就会调用我们定义的hello视图。

启动服务

最后,我们可以启动Django服务来测试我们的应用:

 

python manage.py runserver

 

现在,你可以使用浏览器访问http://localhost:8000/myapp/hello/,你将看到返回的{"message": "Hello, Django!"}。你也可以使用工具(如curl或Postman)发送POST请求,你将看到返回的{"message": "POST request received."}

恭喜你!你已经成功地从零开始部署了一个使用Django框架的Python服务。

项目文件夹和代码一览

最后提供给大家,在我们的Django项目中,我们会看到以下文件结构:

 

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

 

在这个结构中,我们主要关注的是myapp/views.pymyapp/urls.py,和myproject/urls.py这三个文件,因为这三个文件是我们在部署Django服务中修改的主要文件。

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视图。如果文件不存在,请创建并添加以下内容:

 

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')),
]

 

以上便是我们创建的Django服务的全部代码和文件结构。

转载自:https://www.cnblogs.com/xfuture/p/17525268.html