在上一篇博客中,我们设置了开发环境并创建了一个基本的 Django 项目和应用程序。现在,是时候更深入地了解 Django 的基础方面了,包括其项目结构、模型-视图-模板 (MVT) 架构和 Django 管理界面。读完本文后,您应该对这些概念有深入的了解,并准备好创建一个简单的博客应用程序。
本博客将深入探讨 Django 的基础知识,包括其项目结构、MVT 架构和 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/
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 管理界面是一个强大的工具,用于管理应用程序的数据,而无需编写任何额外的代码。它会自动为您的模型生成用户友好的界面。
# blog/admin.py from django.contrib import admin from .models import Post admin.site.register(Post)
python manage.py createsuperuser
这是在 Django 中编写应用程序的过程的概述。请继续关注本系列的下一部分,我们将应用所学知识来创建一个简单的博客应用程序。
以上是了解 Django 基础知识的详细内容。更多信息请关注PHP中文网其他相关文章!