首页 > 后端开发 > Python教程 > 了解 Django 基础知识

了解 Django 基础知识

王林
发布: 2024-07-26 11:15:21
原创
478 人浏览过

Understanding Django Fundamentals

在上一篇博客中,我们设置了开发环境并创建了一个基本的 Django 项目和应用程序。现在,是时候更深入地了解 Django 的基础方面了,包括其项目结构、模型-视图-模板 (MVT) 架构和 Django 管理界面。读完本文后,您应该对这些概念有深入的了解,并准备好创建一个简单的博客应用程序。

概述

本博客将深入探讨 Django 的基础知识,包括其项目结构、MVT 架构和 Django 管理界面。

涵盖的主题

  • Django 项目结构
  • 模型、视图和模板 (MVT)
  • Django 管理员

目标

  • 了解 MVT 架构
  • 在 Django 中创建模型、视图和模板
  • 使用 Django 管理界面

Django 项目结构

理解 Django 的项目结构对于有效地导航和组织代码至关重要。当您创建新的 Django 项目和应用程序时,会生成以下目录结构:

myproject/
    manage.py
    myproject/
        __init__.py
        settings.py
        urls.py
        wsgi.py
        asgi.py
    blog/
        __init__.py
        admin.py
        apps.py
        models.py
        tests.py
        views.py
        migrations/

登录后复制
  • manage.py:帮助管理 Django 项目的命令行实用程序。
  • myproject/:包含设置和配置的主项目目录。
  • settings.py:项目的配置设置。
  • urls.py:项目的 URL 声明。
  • wsgi.py 和 asgi.py:WSGI/ASGI 兼容 Web 服务器的入口点。
  • blog/:包含应用程序特定文件的 Django 应用程序目录。

模型、视图和模板 (MVT)

Django 遵循模型-视图-模板 (MVT) 架构,这是 MVC 模式的变体。这种架构促进了关注点的清晰分离,使您的代码更有组织性和可维护性。

型号

模型定义数据库表的结构。每个模型都是一个 Python 类,它是 django.db.models.Model 的子类。

# blog/models.py

from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    published_date = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title

登录后复制

意见

视图负责应用程序的逻辑和数据处理。它们接受请求、与模型交互并返回响应。

# blog/views.py

from django.shortcuts import render
from .models import Post

def home(request):
    posts = Post.objects.all()
    return render(request, 'blog/home.html', {'posts': posts})

登录后复制

模板

模板定义网页的 HTML 结构和呈现方式。它们可以使用 Django 模板标签和过滤器包含动态内容。

<!-- blog/templates/blog/home.html -->

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Blog Home</title>
</head>
<body>
    <h1>Blog Posts</h1>
    {% for post in posts %}
        <h2>{{ post.title }}</h2>
        <p>{{ post.content }}</p>
        <p>Published on: {{ post.published_date }}</p>
    {% endfor %}
</body>
</html>

登录后复制

网址配置

要将 URL 映射到视图,需要在 urls.py 中配置 URL 模式。

# myproject/urls.py

from django.contrib import admin
from django.urls import path
from blog import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.home, name='home'),
]

登录后复制

Django 管理员

Django 管理界面是一个强大的工具,用于管理应用程序的数据,而无需编写任何额外的代码。它会自动为您的模型生成用户友好的界面。

设置 Django 管理员

  • 注册模型:向管理站点注册您的模型,以使它们在管理界面中可用。
# blog/admin.py

from django.contrib import admin
from .models import Post

admin.site.register(Post)

登录后复制
  • 创建超级用户:创建超级用户以访问管理界面。
python manage.py createsuperuser

登录后复制
  • 访问管理界面:启动开发服务器并导航到http://127.0.0.1:8000/admin/。使用您的超级用户凭据登录来管理您的数据。

结论

这是在 Django 中编写应用程序的过程的概述。请继续关注本系列的下一部分,我们将应用所学知识来创建一个简单的博客应用程序。

以上是了解 Django 基础知识的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板