环境搭建(按需)
首先,我们需要创建一个适合开发的环境。在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.py
,myapp/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学习资料,包含面试题、简历资料等具体看下方。
👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python兼职渠道推荐*
学的同时助你创收,每天花1-2小时兼职,轻松稿定生活费.
三、最新Python学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)
若有侵权,请联系删除