在上一篇博客中,我们设置了开发环境并创建了一个基本的 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 Home Blog Posts
{% for post in posts %}{{ post.title }}
{{ post.content }}
Published on: {{ post.published_date }}
{% endfor %}
要将 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 中编写应用程序的过程的概述。请继续关注本系列的下一部分,我们将应用所学知识来创建一个简单的博客应用程序。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3