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

python,django,基础,部署,服务,hello,全文,件夹,目录,核心,代码 · 浏览次数 : 420

小编点评

**环境搭建** 1. 创建虚拟环境:`python3 -m venv myenv` 2. 激活虚拟环境:`source myenv/bin/activate` 3. 激活虚拟环境:`.\myenv\Scripts\activate` **创建项目** 1. 创建项目目录:`mkdir myprojectpython` 2. 创建项目文件: - `manage.py` - `myapp/__init__.py` - `myapp/views.py` **定义视图** 1. `myapp/views.py`中定义一个名为 `hello`的视图,处理GET和POST请求: ```python from django.http import JsonResponse @csrf_exempt def hello(request): if request.method == 'GET': return JsonResponse({'message': 'Hello, Django!'}) elif request.method == 'POST': return JsonResponse({'message': 'POST request received.'}) ``` **配置路由** 1. `myapp/urls.py`中定义路由规则,将 `/hello/`映射到 `hello`视图: ```python from django.urls import path from . import views urlpatterns = [ path('hello/', views.hello), ] ``` **启动服务** 1. 启动 Django 服务:`python manage.py runserver` 2. 在浏览器中访问 `http://localhost:8000/myapp/hello/`,应看到“Hello, 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 ``` **其他提示** * 使用虚拟环境确保不同的项目保持干净。 * 使用 `csrf_exempt`装饰器防止 Cross-Site Request Forgery (CSRF)。 * 在开发过程中,可以使用 `curl` 或 `Postman` 等工具发送测试请求。

正文

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

环境搭建(按需)

首先,我们需要创建一个适合开发的环境。在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服务的全部代码和文件结构。

如有帮助,请多关注
个人微信公众号:【Python全视角】
TeahLead_KrisChang,10+年的互联网和人工智能从业经验,10年+技术和业务团队管理经验,同济软件工程本科,复旦工程管理硕士,阿里云认证云服务资深架构师,上亿营收AI产品业务负责人。

与Python Django 零基础从零到一部署服务,Hello Django!全文件夹目录和核心代码!相似的内容:

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

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

【转帖】PyCharm---Django简单例子--基础1

https://www.cnblogs.com/kllay/p/7286701.html 环境: python 2.7 Django 1.11.2 查看版本:python -m django --version 1.新建Django项目 django-admin startproject TestH

Python Django 模版全解与实战

**本文首先介绍了Django模板系统的基础知识,接着探讨了如何安装和配置Django模板系统,然后深入解析了Django模板的基本结构、标签和过滤器的用法,阐述了如何在模板中展示模型数据,最后使用一个实际项目的例子来演示如何在实际开发中使用Django模板系统。** ## Django模板系统的简

Python学习之十八_django的学习(二)

# Python学习之十八_django的学习(二) ## 前言 ``` 前面学习了基本的django的使用. 这里想着稍微深入一点学习templates 以及进行级联的路由展示. ``` ## 修改配置文件 ``` 要想使用 templates下面的文件. 需要修改一下项目级别的 settings

通用密钥,无需密码,在无密码元年实现Passkeys通用密钥登录(基于Django4.2/Python3.10)

毋庸讳言,密码是极其伟大的发明,但拜病毒和黑客所赐,一旦密码泄露,我们就得绞尽脑汁再想另外一个密码,但记忆力并不是一个靠谱的东西,一旦遗忘密码,也会造成严重的后果,2023年业界巨头Google已经率先支持了Passkeys登录方式,只须在设备上利用PIN码解锁、指纹或面部辨识等生物识别方式,即可验

Python Django Web开发实战

# Python Django全面介绍 Django是一个非常强大的Python Web开发框架,它以"快速开发"和"干净、实用的设计"为设计宗旨。本文将从Django的基本概念开始,逐渐引导大家理解如何使用Django构建复杂的web应用程序。 ## Django基本概念与原理 首先,让我们从Dj

nittest单元测试框架—加载测试用例的3种方法以及测试报告存储管理

项目结构 测试用例 import unittest class LoginTestCase(unittest.TestCase): def test_login_success(self): self.assertEqual({'code': 200, 'msg': '登录成功'}, self.lo

python独立脚本应用Django项目的环境

一、需求说明 一直用 Django 在开发一个网站项目,其中的注册用户和登录,都是使用Django自带的认证系统。主要是对密码的加密,在注册或者登录的时候,前端传递过来的密码,我会使用Django的set_password()方法再加密一次 经过加密后的数据库中的数据样子如下: 现在我有另外一个需求

【Azure Cache for Redis】Python Django-Redis连接Azure Redis服务遇上(104, 'Connection reset by peer')

问题描述 使用Python连接Azure Redis服务,因为在代码中使用的是Django-redis组件,所以通过如下的配置连接到Azure Redis服务: CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "

Python Web:Django、Flask和FastAPI框架对比

Django、Flask和FastAPI是Python Web框架中的三个主要代表。这些框架都有着各自的优点和缺点,适合不同类型和规模的应用程序。 1. Django: Django是一个全功能的Web框架,它提供了很多内置的应用程序和工具,使得开发Web应用程序更加容易。Django采用了MTV(