Django 使用教程

打印 上一主题 下一主题

主题 1726|帖子 1726|积分 5178

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Django 使用教程

Django 是一个高级的 Python Web 框架,采用了 MTV(Model-Template-View)计划模式,旨在帮助开辟者快速构建高效、可维护的 Web 应用。它有着非常丰富的功能,包括 ORM、用户认证、表单处理惩罚、管理背景等,是构建复杂 Web 应用的理想选择。
本文将先容如何从零开始使用 Django,创建一个简单的 Web 应用,包含情况设置、创建项目和应用、定义模型、视图和模板、路由设置等内容。

一、情况预备

1.1 安装 Python 和 Django

Django 是基于 Python 的,因此你须要先安装 Python 情况。确保安装了 Python 3.x 版本。

  • 安装 Python(假如还没有安装的话):
    你可以通过 Python 官网下载并安装最新版本的 Python。
  • 创建虚拟情况(保举):
    虚拟情况能够帮助你管理差别项目的依赖,制止冲突。
    在终端中运行以下下令创建虚拟情况:
    1. python -m venv myenv
    复制代码
    激活虚拟情况:

    • Windows:
      1. myenv\Scripts\activate
      复制代码
    • macOS/Linux:
      1. source myenv/bin/activate
      复制代码

  • 安装 Django
    在虚拟情况中,使用 pip 安装 Django:
    1. pip install django
    复制代码
1.2 检查安装是否成功

安装完成后,运行以下下令检查 Django 版本,确保安装成功:
  1. django-admin --version
复制代码

二、创建 Django 项目

2.1 创建项目

使用 Django 提供的下令行工具 django-admin 创建一个新的项目。在终端中运行以下下令:
  1. django-admin startproject myproject
复制代码
这会在当前目次下创建一个名为 myproject 的文件夹,其中包含了一些默认文件和目次结构。
项目目次结构:
  1. myproject/
  2.     manage.py  # 用于管理项目的命令行工具
  3.     myproject/  # 项目设置文件夹
  4.         __init__.py
  5.         settings.py  # 项目的配置文件
  6.         urls.py  # 路由配置
  7.         wsgi.py  # 用于部署的 WSGI 配置
复制代码
2.2 启动开辟服务器

进入 myproject 文件夹,并运行开辟服务器:
  1. cd myproject
  2. python manage.py runserver
复制代码
服务器启动后,打开欣赏器访问 http://127.0.0.1:8000/,假如看到 Django 的欢迎页面,阐明项目创建成功。

三、创建 Django 应用

在 Django 中,应用是构建 Web 项目的基本单元。一个 Django 项目可以包含多个应用,每个应用负责处理惩罚项目中的一个功能模块。
3.1 创建应用

在项目目次下运行以下下令来创建一个应用,例如创建一个名为 blog 的应用:
  1. python manage.py startapp blog
复制代码
这会在项目中创建一个 blog 文件夹,目次结构如下:
  1. blog/
  2.     __init__.py
  3.     admin.py
  4.     apps.py
  5.     models.py
  6.     tests.py
  7.     views.py
复制代码
3.2 注册应用

打开 myproject/settings.py 文件,找到 INSTALLED_APPS 列表,添加刚刚创建的 blog 应用:
  1. INSTALLED_APPS = [
  2.     'django.contrib.admin',
  3.     'django.contrib.auth',
  4.     'django.contrib.contenttypes',
  5.     'django.contrib.sessions',
  6.     'django.contrib.messages',
  7.     'django.contrib.staticfiles',
  8.     'blog',  # 添加 blog 应用
  9. ]
复制代码

四、定义模型(Model)

在 Django 中,模型用于定义数据结构,映射数据库表。Django 使用 ORM(对象关系映射)技术,将模型与数据库中的表举行关联。
4.1 创建模型

打开 blog/models.py 文件,定义一个简单的模型,好比 Post,表示博客文章:
  1. from django.db import models
  2. class Post(models.Model):
  3.     title = models.CharField(max_length=100)
  4.     content = models.TextField()
  5.     created_at = models.DateTimeField(auto_now_add=True)
  6.     updated_at = models.DateTimeField(auto_now=True)
  7.     def __str__(self):
  8.         return self.title
复制代码
模型 Post 包括三个字段:title(标题)、content(内容)和 created_at(创建时间)。其中 CharField 和 TextField 是常用的字段类型,DateTimeField 用于存储时间。
4.2 创建数据库表

模型定义完成后,须要天生数据库表。在终端中运行以下下令:
  1. python manage.py makemigrations
  2. python manage.py migrate
复制代码


  • makemigrations 会天生数据库迁移文件。
  • migrate 会根据迁移文件创建数据库表。

五、创建视图(Views)

视图是用户请求和响应之间的桥梁,它处理惩罚请求并返回响应。在 Django 中,视图通常有两种类型:函数视图和类视图。
5.1 创建函数视图

打开 blog/views.py 文件,创建一个简单的视图函数:
  1. from django.http import HttpResponse
  2. from .models import Post
  3. def index(request):
  4.     posts = Post.objects.all()  # 获取所有博客文章
  5.     response = '<h1>Blog Posts</h1>'
  6.     for post in posts:
  7.         response += f'<h2>{post.title}</h2><p>{post.content}</p>'
  8.     return HttpResponse(response)
复制代码
该视图函数获取所有博客文章,并将其标题和内容显示在页面上。
5.2 设置路由

打开 myproject/urls.py 文件,设置 URL 路由,将请求与视图函数关联起来:
  1. from django.contrib import admin
  2. from django.urls import path
  3. from blog import views
  4. urlpatterns = [
  5.     path('admin/', admin.site.urls),
  6.     path('', views.index, name='index'),  # 将根 URL 映射到 index 视图
  7. ]
复制代码

六、创建模板(Template)

模板用于出现 HTML 页面,可以将动态内容与静态内容联合。在 Django 中,模板是存放在 templates 目次下的 HTML 文件。
6.1 创建模板

在 blog 应用下创建一个 templates 文件夹,并在其中创建 index.html 文件:
  1. blog/
  2.     templates/
  3.         index.html
复制代码
在 index.html 中,编写 HTML 和 Django 模板语言来显示博客文章列表:
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.     <title>Blog</title>
  7. </head>
  8. <body>
  9.     <h1>Blog Posts</h1>
  10.     {% for post in posts %}
  11.         <h2>{{ post.title }}</h2>
  12.         <p>{{ post.content }}</p>
  13.     {% endfor %}
  14. </body>
  15. </html>
复制代码
6.2 修改视图函数使用模板

修改 views.py 中的 index 视图函数,使用 Django 的 render 函数渲染模板:
  1. from django.shortcuts import render
  2. from .models import Post
  3. def index(request):
  4.     posts = Post.objects.all()
  5.     return render(request, 'index.html', {'posts': posts})
复制代码

七、背景管理

Django 提供了一个强盛的背景管理界面,可以帮助我们管理数据。在 admin.py 中,我们须要将模型注册到 Django 管理背景。
7.1 注册模型

打开 blog/admin.py 文件,注册 Post 模型:
  1. from django.contrib import admin
  2. from .models import Post
  3. admin.site.register(Post)
复制代码
7.2 启用背景管理

创建超等用户以便登录背景管理界面:
  1. python manage.py createsuperuser
复制代码
按照提示输入用户名、电子邮件和密码。
启动开辟服务器后,在欣赏器访问 http://127.0.0.1:8000/admin/,使用超等用户账号登录,您可以在背景管理界面查看和管理 Post 模型的数据。

八、总结

本文先容了 Django 的基本使用方法,包括如何创建项目和应用、定义模型、视图和模板、设置路由、以及启用背景管理界面。通过这些步调,你可以快速构建一个简单的 Django Web 应用。
在现实开辟中,你可能会遇到更多的功能需求,例如表单处理惩罚、用户认证、分页等,Django 提供了丰富的功能支持,能够帮助你应对各种需求。你可以通过官方文档深入学习和掌握 Django:Django 官方文档。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

郭卫东

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表