乐趣区

关于人工智能:93-Django框架

Django 是一个十分风行的 Python Web 开发框架,它是残缺且弱小的,实用于构建大型 Web 利用。在这一章节中,咱们将具体介绍 Django 的基本概念、组件和用法。为了便于了解,咱们将应用实例来展现如何应用 Django 构建一个简略的 Web 利用。

9.3.1 装置和创立 Django 我的项目

首先,应用 pip 装置 Django:

pip install django

接下来,应用 django-admin 命令创立一个新的 Django 我的项目:

django-admin startproject myproject

这将创立一个名为 myproject 的目录,其中蕴含 Django 我的项目的初始文件和目录。进入 myproject 目录:

cd myproject

9.3.2 Django 我的项目构造

Django 我的项目由一个或多个利用组成。每个利用代表一个特定的性能,例如博客、论坛、商店等。为了展现如何创立和应用 Django 利用,咱们将创立一个简略的博客利用。

首先,应用 startapp 命令创立一个名为 blog 的利用:

python manage.py startapp blog

这将创立一个名为 blog 的目录,其中蕴含利用的初始文件和目录。以下是一个简要的目录构造阐明:

  • myproject/:我的项目根目录。

    • manage.py:一个用于治理我的项目的命令行工具。
    • myproject/:我的项目的配置目录。

      • __init__.py:一个空的 Python 文件,用于将目录标记为 Python 包。
      • asgi.py:ASGI 入口文件,用于部署我的项目。
      • settings.py:我的项目的配置文件。
      • urls.py:我的项目的 URL 配置文件。
      • wsgi.py:WSGI 入口文件,用于部署我的项目。
  • blog/:利用目录。

    • __init__.py:同上。
    • admin.py:利用的 Django Admin 配置文件。
    • apps.py:利用的配置文件。
    • migrations/:利用的数据库迁徙目录。
    • models.py:利用的数据模型文件。
    • tests.py:利用的测试文件。
    • views.py:利用的视图文件。

9.3.3 数据模型

在 Django 中,数据模型用于定义利用的数据结构。为了创立一个简略的博客数据模型,编辑 blog/models.py,增加以下代码:

from django.db import models
from django.utils import timezone

class Post(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    pub_date = models.DateTimeField(default=timezone.now)

    def __str__(self):
        return self.title

咱们定义了一个名为 Post 的数据模型,它具备 titlecontent 和 pub_date 三个字段。__str__ 办法用于在 Django Admin 界面中显示模型的敌对名称。

接下来,将新创建的利用增加到我的项目的 settings.py 文件中的 INSTALLED_APPS 列表中:

INSTALLED_APPS = [
    # ...
    'blog',
]

而后,应用 makemigrations 和 migrate 命令创立并利用数据库迁徙:

python manage.py makemigrations
python manage.py migrate

这将创立一个名为 db.sqlite3 的 SQLite 数据库文件,其中蕴含利用的数据表。

9.3.4 Django Admin

Django 提供了一个弱小的后盾治理界面,用于治理数据模型。首先,创立一个管理员用户:

python manage.py createsuperuser

接下来,注册 Post 模型以在 Django Admin 中应用。编辑 blog/admin.py,增加以下代码:

from django.contribimport admin
from .models import Post

admin.site.register(Post)

当初,启动开发服务器:

python manage.py runserver

在浏览器中拜访 http://127.0.0.1:8000/admin/,应用先前创立的管理员用户登录。你能够在 Django Admin 中治理 Post 数据模型。

9.3.5 视图和模板

视图用于解决 Web 申请并返回响应。为了创立一个显示博客文章列表的视图,编辑 blog/views.py,增加以下代码:

from django.shortcuts import render
from .models import Post

def post_list(request):
    posts = Post.objects.order_by('-pub_date')
    return render(request, 'blog/post_list.html', {'posts': posts})

咱们定义了一个名为 post_list 的视图,它从数据库中获取所有的 Post 对象并按公布日期降序排列。视图应用 render 函数将 posts 变量传递给一个名为 blog/post_list.html 的模板。

接下来,创立模板文件。在 blog 目录下创立一个名为 templates 的目录,并在其中创立一个名为 blog 的子目录。而后,在 blog/templates/blog 目录下创立一个名为 post_list.html 的文件,增加以下代码:

{% for post in posts %}
    <h2>{{post.title}}</h2>
    <p>{{post.pub_date}}</p>
    <p>{{post.content}}</p>
{% endfor %}

此模板应用 Django 的模板语言在页面上显示每篇博客文章的题目、公布日期和内容。

9.3.6 URL 配置

最初,咱们须要配置 URL 以将申请映射到视图。首先,在 blog 目录下创立一个名为 urls.py 的文件,增加以下代码:

from django.urls import path
from . import views

urlpatterns = [path('', views.post_list, name='post_list'),
]

这将我的项目的根 URL(/)映射到 post_list 视图。接下来,将新创建的利用的 URL 配置蕴含到我的项目的 urls.py 文件中:

from django.contrib import admin
from django.urls import path, include

urlpatterns = [path('admin/', admin.site.urls),
    path('', include('blog.urls')),
]

这通知 Django 在解决 URL 时要蕴含 blog 利用的 URL 配置。

当初,重新启动开发服务器:

python manage.py runserver

在浏览器中拜访 http://127.0.0.1:8000/,你应该能看到博客文章列表。

这仅仅是 Django 框架的简要介绍。它还有许多其余性能和组件,例如表单、用户认证、缓存等。要理解更多对于 Django 的信息,请拜访其官网文档:https://docs.djangoproject.com/
举荐浏览:

https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA

https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g

退出移动版