码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Python Django 零基础从零到一部署服务,Hello Django!全文件夹目录和核心代码!


    合集 - python全景系列(29)
    1.<Python全景系列-1> Hello World,1分钟配置好你的python环境05-142.< Python全景系列-2 > Python数据类型大盘点05-153.< Python全景系列-3 > Python控制流程盘点及高级用法、神秘技巧大揭秘!05-174.< Python全景系列-4 > 史上最全文件类型读写库大盘点!什么?还包括音频、视频?05-185.< Python全景系列-5 > 解锁Python并发编程:多线程和多进程的神秘面纱揭晓05-216.< Python全景系列-6 > 掌握Python面向对象编程的关键:深度探索类与对象05-247.< Python全景系列-7 > 提升Python编程效率:模块与包全面解读05-258.< Python全景系列-8 > Python超薄感知,超强保护:异常处理的绝佳实践05-299.< Python全景系列-9 > Python 装饰器:优雅地增强你的函数和类05-3110.Python生成器深度解析:构建强大的数据处理管道06-0511.掌握Python文件操作:从基础到高阶的全方位探索06-1212.Python单元测试之道:从入门到精通的全面指南07-1813.深入探索 Django Rest Framework07-1314.跨越HTTP无状态边界:Cookie与Session在Django中的实战应用07-1115.Django ORM:最全面的数据库处理指南07-1016.详解Django请求与响应:深入理解Web Http交互的核心机制07-0917.Python Django 模版全解与实战07-0818.Django容易被遗忘却无比重要的框架默认文件介绍及使用方法07-0719.Python 爬虫实战:驾驭数据洪流,揭秘网页深处07-0620.Python史上最全种类数据库操作方法,你能想到的数据库类型都在里面!甚至还有云数据库!07-05
    21.Python Django 零基础从零到一部署服务,Hello Django!全文件夹目录和核心代码!07-04
    22.Python Django Web开发实战06-3023.Python Flask - 快速构建Web应用详解06-2924.深入Python网络编程:从基础到实践06-2525.一文掌握Python多线程与多进程06-2026.Python正则表达式完全指南06-1327.Python的Lambda函数: 一把极简编程的瑞士军刀06-0828.Python 列表推导式:简洁、高效的数据操作艺术06-0729.Python日志模块:实战应用与最佳实践07-19
    收起

    在这篇文章中,我将手把手地教你如何从零开始部署一个使用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.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全视角】
    TeahLead_KrisChang,10+年的互联网和人工智能从业经验,10年+技术和业务团队管理经验,同济软件工程本科,复旦工程管理硕士,阿里云认证云服务资深架构师,上亿营收AI产品业务负责人。

  • 相关阅读:
    拖死项目的不是团队,可能是失败的管理
    【综述精读】:Causal Inference in Recmmender Systems(因果推论在推荐系统中的应用)
    starrocks新建clickhouse(jdbc)外部表 查询报错 JDBC result type is [java.math.BigInteger]
    JUC并发编程笔记2
    MindSponge分子动力学模拟——多路径分子模拟(2024.05)
    Linux学习之MySQL备份
    探索 Java 8 中的 Stream 流:构建流的多种方式
    【单目3D目标检测】FCOS3D + PGD论文解析与代码复现
    python读取txt格式的点云文件,可视化显示,保存ply格式
    Linux选择题笔记
  • 原文地址:https://www.cnblogs.com/xfuture/p/17525268.html
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号