当前位置: 首页 > article >正文

django使用笔记1--快速开始

django使用笔记1--快速开始

  • 初始化项目
    • 项目结构
    • 配置文件说明
  • 初始化应用
  • 应用测试

使用django脚手架,快速初始化python Web项目。注:

  1. 初始化后的项目默认使用sqlite,需要进行数据迁移,否则控制台warning
  2. python manage.py migrate 后,生成管理后台和迁移信息相关的表结构
  3. 创建admin 用户 python manage.py createsuperuser,登录管理后台 127.0.0.1:8000/admin
  4. runserver为开发服务器,线上需要切换为wsgi规范的服务器以支持高并发。

初始化项目

项目结构

# 创建项目,项目根目录名称和项目配置目录名称,默认是同名的
# 这里显式命名,避免混淆
django-admin startproject myproject_root myproject

# 项目结构
myproject_root/          # 项目的根目录
    manage.py            # Django 项目管理文件
    myproject/           # 项目配置文件所在目录
        settings.py      # 配置文件
        urls.py          # URL 路由文件
        wsgi.py          # WSGI 文件

配置文件说明

# myproject 目录(项目配置目录)文件作用:

# settings.py:全局配置文件,包含数据库、静态文件、应用注册、调试模式等设置。
# urls.py:全局的 URL 路由表,通常只定义项目级别的路由,具体应用的路由会被引入这个文件中。
# wsgi.py 和 asgi.py:部署相关文件,定义 WSGI 和 ASGI 服务器的入口点,用于不同类型的服务器配置。
# __init__.py:标识这是一个 Python 包。

初始化应用

  1. 创建应用
# 创建应用app1
python manage.py startapp app1

myproject_root/          # 项目根目录
    manage.py            # 项目管理文件
    myproject/           # 项目配置目录
        __init__.py      # 包初始化文件
        settings.py      # 项目配置文件
        urls.py          # URL 路由配置文件
        wsgi.py          # WSGI 配置文件
        asgi.py          # ASGI 配置文件
    app1/                # 第一个应用,包含业务逻辑
        migrations/      # 数据库迁移文件
        __init__.py      # 包初始化文件
        models.py        # 数据库模型
        views.py         # 视图逻辑
        urls.py          # 该应用的URL路由
        admin.py         # Django Admin 配置
        apps.py          # 应用配置
    app2/                # 第二个应用,包含另一部分业务逻辑
  1. 声明应用
    settings.py 文件,添加
INSTALLED_APPS = [
    # 其他已安装的应用
    'app1',  # 添加新应用
]
  1. 配置路由
  • 先编写一个测试接口
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import status


class DemoView(APIView):
    def get(self, request):
        data = {'message': 'Hello, World!'}
        return Response(data, status=status.HTTP_200_OK)

    def post(self, request):
        data = request.data
        return Response(data, status=status.HTTP_201_CREATED)
  • 在urls.py中配置路由
from django.contrib import admin
from django.urls import path
from app_pillow.view_demo import DemoView
from app_pillow.view_pillow import PillowView

urlpatterns = [
    path("admin/", admin.site.urls),
    path('api/app1/demo/', DemoView.as_view(), name='app1-demo-api'),
]

应用测试

  1. 启动服务 python manage.py runserver
  2. 访问 http://127.0.0.1:8000/api/app1/demo/
  3. 这里界面看着好熟悉,和swaager很像

http://www.kler.cn/news/329535.html

相关文章:

  • [Linux] Linux 的进程如何调度——Linux的 O(1)进程调度算法
  • [深度学习]循环神经网络RNN
  • ARM 汇编5 数据类型
  • 【HTML5】html5开篇基础(3)
  • 基于AI大模型应用开发有哪几种方式?
  • Python3自带HTTP服务:轻松开启与后台管理
  • 螺狮壳里做道场:老破机搭建的私人数据中心---Centos下docker学习02(yum源切换及docker安装配置)
  • springboot整合Freemarker动态生成JSON
  • Spring Boot与模板方法模式:实现统一的日志处理流程
  • 鸢尾花书实践和知识记录[数学要素3-3几何]
  • 算法专题二: 滑动窗口
  • springboot高校科研论文判定管理系统的设计与实现
  • MySQL-SQL(DDL、DML、DQL、DCL)
  • 掌控板micropython编程实现OLED中显示文本
  • Python位运算的与众不同
  • 【选择”丹摩“深入探索智谱AI的CogVideoX:视频生成的新前沿】
  • 安装管理K8S的开源项目KubeClipper介绍
  • java8:hutool:httputil.post读取配置项中的url
  • Thingsboard 网关实战 modbus通信 rpc下发控制指令
  • 如何实现全行业证照一站式结构化识别?Textln企业资质证照识别上线!
  • 鸿蒙harmonyos next flutter混合开发之ohos工程引用 har 文件
  • 大数据毕业设计选题推荐-NBA球员数据分析系统-Python数据可视化-Hive-Hadoop-Spark
  • K8S精进之路-控制器DaemonSet -(3)
  • Word2vec的应用
  • Docker容器、数据卷和数据挂载
  • SpringAOP实现的两种方式-JDK动态代理和CGLIB动态代理
  • 基于小程序+Vue + Spring Boot的进销存库存出库入库统计分析管理系统
  • 聊聊Mysql的MVCC
  • JavaWeb酒店管理系统(详细版)
  • 详解Java中的Collection单列集合(从底层到用法超详细解析和细节分析)