翼度科技»论坛 编程开发 python 查看内容

Python Django 零基础从零到一部署服务,Hello Django!全文件夹目录和核心

9

主题

9

帖子

27

积分

新手上路

Rank: 1

积分
27
在这篇文章中,我将手把手地教你如何从零开始部署一个使用Django框架的Python服务。无论你是一个刚开始接触开发的新手,还是一个有经验的开发者想要快速了解Django,这篇教程都会为你提供一条清晰的路径。我们将从环境搭建开始,一步一步地创建一个可以处理GET和POST请求的服务,让你能在实践中理解Django的工作原理。
环境搭建(按需)

首先,我们需要创建一个适合开发的环境。在Python开发中,我们通常会使用虚拟环境来保持工作空间的整洁。以下是创建和激活虚拟环境的步骤:
  1. # 创建虚拟环境
  2. python3 -m venv myenv
  3. # 激活虚拟环境(Linux/macOS)
  4. source myenv/bin/activate
  5. # 激活虚拟环境(Windows)
  6. .\myenv\Scripts\activate
复制代码
在虚拟环境中,我们可以安装Django:
  1. pip install Django
复制代码
这将会安装Django并且保证它不会影响到系统中的其他Python项目。
创建项目

安装完成后,我们可以使用Django的命令行工具来创建一个新的项目:
  1. django-admin startproject myproject
复制代码
这将会在当前目录下创建一个名为myproject的文件夹,其中包含了管理Django项目所需的一些文件。
创建应用

在Django中,一个项目可以包含多个应用,每个应用都是一个Python模块,包含了视图、模型、模板、路由等一系列功能。我们首先创建一个名为myapp的应用:
  1. cd myproject
  2. python manage.py startapp myapp
复制代码
这会在myproject目录下创建一个myapp的目录,包含了管理应用所需的一些文件。
定义视图

接下来,我们需要定义视图来处理HTTP请求。在myapp/views.py文件中,我们可以定义一个视图来处理GET和POST请求:
  1. from django.http import JsonResponse
  2. from django.views.decorators.csrf import csrf_exempt
  3. @csrf_exempt
  4. def hello(request):
  5.     if request.method == 'GET':
  6.         return JsonResponse({'message': 'Hello, Django!'})
  7.     elif request.method == 'POST':
  8.         return JsonResponse({'message': 'POST request received.'})
复制代码
这里,我们使用了JsonResponse来返回JSON响应,用@csrf_exempt来豁免CSRF保护,以便于我们在测试时能方便地发送POST请求。
配置路由

视图定义完成后,我们还需要配置路由来将URL映射到视图。在myapp/urls.py
文件中,我们可以定义路由:
  1. from django.urls import path
  2. from . import views
  3. urlpatterns = [
  4.     path('hello/', views.hello),
  5. ]
复制代码
然后,在myproject/urls.py文件中,我们需要包含myapp的路由:
  1. from django.urls import include, path
  2. urlpatterns = [
  3.     path('myapp/', include('myapp.urls')),
  4. ]
复制代码
这样,访问/myapp/hello/URL时,就会调用我们定义的hello视图。
启动服务

最后,我们可以启动Django服务来测试我们的应用:
  1. python manage.py runserver
复制代码
现在,你可以使用浏览器访问http://localhost:8000/myapp/hello/,你将看到返回的{"message": "Hello, Django!"}。你也可以使用工具(如curl或Postman)发送POST请求,你将看到返回的{"message": "POST request received."}。
恭喜你!你已经成功地从零开始部署了一个使用Django框架的Python服务。
项目文件夹和代码一览

最后提供给大家,在我们的Django项目中,我们会看到以下文件结构:
  1. myproject/
  2. ├── manage.py
  3. ├── myapp/
  4. │   ├── __init__.py
  5. │   ├── admin.py
  6. │   ├── apps.py
  7. │   ├── migrations/
  8. │   ├── models.py
  9. │   ├── tests.py
  10. │   ├── urls.py
  11. │   └── views.py
  12. └── myproject/
  13.     ├── __init__.py
  14.     ├── asgi.py
  15.     ├── settings.py
  16.     ├── urls.py
  17.     └── wsgi.py
复制代码
在这个结构中,我们主要关注的是myapp/views.py,myapp/urls.py,和myproject/urls.py这三个文件,因为这三个文件是我们在部署Django服务中修改的主要文件。
myapp/views.py

在myapp/views.py文件中,我们定义了一个hello视图来处理GET和POST请求。完整的代码如下:
  1. from django.http import JsonResponse
  2. from django.views.decorators.csrf import csrf_exempt
  3. @csrf_exempt
  4. def hello(request):
  5.     if request.method == 'GET':
  6.         return JsonResponse({'message': 'Hello, Django!'})
  7.     elif request.method == 'POST':
  8.         return JsonResponse({'message': 'POST request received.'})
复制代码
myapp/urls.py

在myapp/urls.py文件中,我们定义了一个路由来将/hello/的URL映射到hello视图。如果文件不存在,请创建并添加以下内容:
  1. from django.urls import path
  2. from . import views
  3. urlpatterns = [
  4.     path('hello/', views.hello),
  5. ]
复制代码
myproject/urls.py

在myproject/urls.py文件中,我们包含了myapp的路由,将所有以/myapp/开头的URL映射到myapp的路由。完整的代码如下:
  1. from django.urls import include, path
  2. urlpatterns = [
  3.     path('myapp/', include('myapp.urls')),
  4. ]
复制代码
以上便是我们创建的Django服务的全部代码和文件结构。
如有帮助,请多关注
个人微信公众号:【Python全视角】
TeahLead_KrisChang,10+年的互联网和人工智能从业经验,10年+技术和业务团队管理经验,同济软件工程本科,复旦工程管理硕士,阿里云认证云服务资深架构师,上亿营收AI产品业务负责人。

来源:https://www.cnblogs.com/xfuture/p/17525268.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具