Django5实战

一、安装:

1、安装Django环境:

复制代码
# 安装
pip install django==5.0.3

# 验证 5.0.3
python -m django --version

安装慢的解决方法:使用阿里云的镜像源

复制代码
pip install -i https://mirrors.aliyun.com/pypi/simple django==5.0.3

2、创建项目:

复制代码
django-admin startproject mysite

可以看到,创建的目录结构:

复制代码
mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py

说明:

  1. 最外层的 mysite/ 根目录只是你项目的容器, 根目录名称对 Django 没有影响,你可以将它重命名为任何你喜欢的名称。
  2. manage.py: 一个让你用各种方式管理 Django 项目的命令行工具。你可以阅读 django-admin 和 manage.py 获取所有 manage.py 的细节。
  3. 里面一层的 mysite/ 目录包含你的项目,它是一个纯 Python 包。它的名字就是当你引用它内部任何东西时需要用到的 Python 包名。 (比如 mysite.urls).
  4. mysite/init.py:一个空文件,告诉 Python 这个目录应该被认为是一个 Python 包。如果你是 Python 初学者,阅读官方文档中的 更多关于包的知识。
  5. mysite/settings.py:Django 项目的配置文件。如果你想知道这个文件是如何工作的,请查看 Django 配置 了解细节。
  6. mysite/urls.py:Django 项目的 URL 声明,就像你网站的"目录"。阅读 URL调度器 文档来获取更多关于 URL 的内容。
  7. mysite/asgi.py:作为你的项目的运行在 ASGI 兼容的 Web 服务器上的入口。阅读 如何使用 ASGI 来部署 了解更多细节。
  8. mysite/wsgi.py:作为你的项目的运行在 WSGI 兼容的Web服务器上的入口。阅读 如何使用 WSGI 进行部署 了解更多细节。

3、启动服务器:

复制代码
# 在manage.py同级目录下执行
python manage.py runserver 0.0.0.0:8000

4、创建应用:

在manage.py 所在的目录下,然后运行这行命令来创建一个应用:

复制代码
# 创建一个应用
python manage.py startapp polls

编写视图,打开 polls/views.py,把下面这些 Python 代码输入进去:

复制代码
from django.shortcuts import HttpResponse

def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

映射url,在 polls 目录中创建一个 URL 配置,请创建一个名为 urls.py 的文件:

复制代码
from django.urls import path

from . import views

urlpatterns = [
    path("", views.index, name="index"),
]

在根URLconf 文件中指定我们创建的 polls.urls 模块。在 mysite/urls.py 文件的 urlpatterns 列表里插入一个 include(), 如下:

复制代码
from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path("polls/", include("polls.urls")),
    path("admin/", admin.site.urls),
]

函数 include() 允许引用其它 URLconfs。每当 Django 遇到 include() 时,它会截断与此项匹配的 URL 的部分,并将剩余的字符串发送到 URLconf 以供进一步处理。

测试,启动项目,访问http://127.0.0.1:8000/polls/

二、request方法

Django中的请求包含了很多方法,简单认识下:

返回json数据:

在Django中,可以使用JsonResponse类来返回JSON数据。

复制代码
from django.http import JsonResponse
 
def my_view(request):
    data = {'key': 'value'}  # 你的数据字典
    return JsonResponse(data)

如果你需要返回一个列表或者其他复杂的数据类型,JsonResponse会自动将其序列化为JSON。例如:

复制代码
from django.http import JsonResponse
 
def my_view(request):
    data = [1, 2, 3, 4, 5]  # 你的数据列表
    return JsonResponse(data, safe=False)

注意,当你传递一个非字典类型的对象时,需要将safe参数设置为False,这样JsonResponse就不会期望传入的是一个字典了。

三、模板渲染:

在Django中,可以使用Django模板语言(DTL)来渲染模板。以下是一个简单的例子,展示了如何在Django视图中渲染一个模板,并将上下文数据传递给它。

首先,确保在你的Django项目的settings.py文件中配置了模板目录:

python 复制代码
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR / 'templates'],
        ...
    },
]

然后,创建一个模板文件template_name.html在你的模板目录中:

html 复制代码
<!-- templates/template_name.html -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>My Template</title>
</head>
<body>
    <h1>Hello, {{ name }}!</h1>
</body>
</html>

接下来,在Django视图中渲染这个模板:

html 复制代码
# views.py
from django.shortcuts import render
 
def my_view(request):
    context = {'name': 'World'}
    return render(request, 'template_name.html', context)

在上面的例子中,render函数负责加载模板并使用提供的上下文字典进行渲染。template_name.html模板中的{{ name }}标签将被替换为World,渲染后的HTML将返回给客户端。

相关推荐
blues_C1 天前
十三、【核心功能篇】测试计划管理:组织和编排测试用例
vue.js·django·测试用例·drf·测试平台
恸流失2 天前
DJango项目
后端·python·django
编程大全2 天前
41道Django高频题整理(附答案背诵版)
数据库·django·sqlite
网安小张2 天前
解锁FastAPI与MongoDB聚合管道的性能奥秘
数据库·python·django
KENYCHEN奉孝2 天前
Pandas和Django的示例Demo
python·django·pandas
老胖闲聊2 天前
Python Django完整教程与代码示例
数据库·python·django
noravinsc2 天前
django paramiko 跳转登录
后端·python·django
践行见远2 天前
django之请求处理过程分析
数据库·django·sqlite
声声codeGrandMaster2 天前
Django之表格上传
后端·python·django
菌菌的快乐生活2 天前
网站静态文件加速-Django项目静态文件存储到腾讯云COS存储提升网络请求速度
django·cos存储