当前位置 : 主页 > 编程语言 > python >

Django入门指南:一个过程式的Python Web框架教程

来源:互联网 收集:自由互联 发布时间:2023-07-29
Django是一个开放源代码的Python Web框架,具有高度可扩展性和灵活性。它采用“模型-视图-控制器”(Model-View-Controller,MVC)的设计模式,使Web应用程序的开发变得快捷高效。本文将提供

Django是一个开放源代码的Python Web框架,具有高度可扩展性和灵活性。它采用“模型-视图-控制器”(Model-View-Controller,MVC)的设计模式,使Web应用程序的开发变得快捷高效。本文将提供Django的基础知识、导入和安装Django、创建数据库、模型构建和视图创建等方面的详细介绍,以帮助初学者掌握Django。

一、Django的基础知识
Django的主要组件包括:URL调度器、模板引擎、视图以及数据库访问层等。Django支持多个数据库,并且使用ORM(对象关系映射)工具提供对象表示和访问数据库。它同时支持多种Web服务器,如Apache、Nginx等。Django还提供了丰富的功能和组件,如管理后台、表单处理、国际化、安全性和认证等。

二、导入和安装Django
在安装Django之前,需要确认Python已经安装成功。有两种方法可以安装Django:一个是使用pip命令(推荐),另一个是手工下载和安装。这里我们介绍pip安装的方法。

  1. 创建虚拟环境
    虚拟环境可以帮助我们在不同的项目中管理不同的依赖库。首先,我们要安装一个叫做virtualenv的模块。在命令行下输入以下命令安装(前提是已经安装了pip)。
pip install virtualenv
登录后复制

接下来,使用以下命令创建一个新的虚拟环境。

virtualenv djangoenv
登录后复制

在这个示例中,虚拟环境的名称为djangoenv。

  1. 安装Django
    在虚拟环境中,使用以下命令安装Django。
pip install Django
登录后复制

这个命令会自动下载最新的版本,并将其安装在虚拟环境的site-packages目录中。

三、创建数据库
Django支持多个数据库系统,如MySQL、PostgreSQL等。在本文中,我们将使用默认的SQLite数据库。安装Python后就已经安装好了SQLite。

  1. 创建项目
    使用以下命令创建一个新的Django项目。
django-admin startproject mysite
登录后复制

在这个示例中,项目的名称为mysite。

  1. 创建应用
    Django应用程序是由模型、视图和模板组成的。这里,我们将创建一个名为blog的应用程序。
cd mysite
python manage.py startapp blog
登录后复制

这个命令会在项目的根目录下创建一个名为blog的目录。
注意:必须在项目的根目录下运行这个命令。

  1. 配置数据库
    打开mysite/settings.py文件,并将DATABASES设置为如下所示:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}
登录后复制

这个设置将数据库类型设置为SQLite,并将数据库文件命名为db.sqlite3。DATABASES设置还支持其他关系型数据库,如MySQL和PostgreSQL。

  1. 运行迁移
    Django使用迁移来管理数据模型和数据库的同步。使用以下命令运行初始迁移。
python manage.py makemigrations
python manage.py migrate
登录后复制

这个命令将创建一个数据库文件,并创建必要的表以管理Django使用的所有应用程序的数据库模型。

四、模型构建
模型是将数据映射到数据库的关键部分。为了使用模型,我们需要定义一个Python类,该类将用于在数据库中定义表。Django的ORM支持许多不同的数据库类型,为了方便起见,我们将在本文中使用SQLite数据库。

  1. 创建模型
    创建一个Python类,并定义它的属性。这个类将充当应用程序的数据模型。
from django.db import models

class Blog(models.Model):
    title = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')
    body = models.TextField()

    def __str__(self):
        return self.title
登录后复制
  1. 模型迁移
    当我们创建了模型后,需要运行以下命令才能将这个模型迁移到数据库。
python manage.py makemigrations blog
python manage.py migrate
登录后复制

这个命令将会在数据库中创建一个新的表,该表将包含我们已定义的数据模型。

五、视图创建
视图是用户与应用程序交互的部分。视图是一组函数,它们从模型中获取数据,并将结果渲染到用户的浏览器。在Django中,所有的视图都必须返回一个HTTP响应对象。Django还提供了一些常用的视图类型。

  1. 创建视图
    在文件blog/views.py中创建以下视图。
from django.shortcuts import render
from django.http import HttpResponse
from .models import Blog

def index(request):
    latest_blog_list = Blog.objects.order_by('-pub_date')[:5]
    context = {'latest_blog_list': latest_blog_list}
    return render(request, 'blog/index.html', context)

def detail(request, blog_id):
    blog = Blog.objects.get(pk=blog_id)
    return render(request, 'blog/detail.html', {'blog': blog})
登录后复制

这里定义了两个视图:index和detail。index视图将获取最新的5篇博客文章,并逐个渲染到HTML模板中。detail视图将获取一篇博客文章的详细信息,并将其渲染到HTML模板中。

  1. 创建模板
    在我们定义的视图中,我们使用了两个HTML模板:index.html和detail.html。在blog应用程序的根目录中创建一个名为“templates”的目录,并在templates目录下创建一个名为“blog”的目录。在blog目录下创建两个名为“index.html”和“detail.html”的HTML文件。

index.html

{% if latest_blog_list %}
    <ul>
    {% for blog in latest_blog_list %}
        <li><a href="{% url 'blog:detail' blog.id %}">{{ blog.title }}</a></li>
    {% endfor %}
    </ul>
{% else %}
    <p>No blogs are available.</p>
{% endif %}
登录后复制

detail.html

<h1>{{ blog.title }}</h1>
<p>{{ blog.body }}</p>
<p>Published on {{ blog.pub_date }}</p>
登录后复制
  1. 创建URL
    最后,我们要将视图与URL相关联。在blog应用程序的根目录下创建一个名为“urls.py”的文件,并添加以下内容。
from django.urls import path

from . import views

app_name = 'blog'
urlpatterns = [
    path('', views.index, name='index'),
    path('<int:blog_id>/', views.detail, name='detail'),
]
登录后复制

在这个文件中,我们使用URL配置了两个视图函数:index和detail。路径“<int:blog_id>/”定义了一个变量blog_id,并将其传递给detail视图函数。

六、启动服务器
现在我们已经定义了我们的Django应用程序,我们可以启动服务器并测试它是否正常工作了。在命令行中输入以下命令。

python manage.py runserver
登录后复制

如果一切正常,您将看到以下输出。

Performing system checks...

System check identified no issues (0 silenced).
September 18, 2021 - 18:13:35
Django version 3.2, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
登录后复制

现在您可以打开浏览器,并输入地址http://127.0.0.1:8000/blog/来访问您的Django网站。

七、总结
本文提供了一个Django入门指南,介绍了Django的基础知识,导入和安装Django,创建数据库,模型构建和视图创建等方面的内容。希望本文能够帮助初学者更好地理解Django,并在他们的Web开发项目中使用它。在Web开发的繁荣时代,Django无疑是一个强大的工具。

【感谢龙石为本站提供数据共享交换平台 http://www.longshidata.com/pages/exchange.html】

上一篇:Django编程入门:了解Python的Web框架
下一篇:没有了
网友评论