Django框架基础 Django,一个由Python编写的开源Web框架,以其“ batteries included ”的理念,为开发者提供了丰富的功能,让构建高效、安全的Web应用程序变得简单。它遵循MVT(Model-View-Template)设计模式,这是一种用于构建Web应用的结构化方式。
模型(Model) 在Django中,模型是数据的蓝图,定义了数据库表的结构。通过继承Django的models.Model
类,你可以创建自定义字段,如CharField
(字符串)、IntegerField
(整数)、DateTimeField
(日期和时间)等。例如:
from django.db import models
class Event(models.Model):
title = models.CharField(max_length=255)
description = models.TextField()
start_time = models.DateTimeField()
end_time = models.DateTimeField()
这将创建一个名为Event
的数据库表,包含title
、description
、start_time
和end_time
字段。
视图(View) 视图是处理用户请求并返回响应的部分。它们可以是简单的函数或复杂的类,根据URL配置来调用。视图通常负责获取数据、处理逻辑,并将数据传递给模板进行渲染。例如,展示所有事件的视图可能如下所示:
from django.shortcuts import render
from .models import Event
def event_list(request):
events = Event.objects.all()
return render(request, 'event_list.html', {'events': events})
模板(Template) 模板是HTML文件,其中包含Django模板语言(DTL)的标记,用于动态渲染内容。这些标记允许你插入变量、控制流、过滤器等,以生成动态HTML。比如,event_list.html
模板可能会这样设计:
<!DOCTYPE html>
<html lang='\"zh\"'>
<head>
<meta charset="utf-8"/>
<title>活动议程</title>
</head>
<body>
<h1>活动列表</h1>
<ul>
{% for event in events %}
<li>{{ event.title }} - {{ event.start_time }}</li>
{% empty %}
<li>暂无活动</li>
{% endfor %}
</ul>
</body>
</html>
URL配置 Django的URL配置系统允许你将URL模式映射到视图函数。在urls.py
文件中,你可以定义URL模式和对应的视图:
from django.urls import path
from . import views
urlpatterns = [
path('events/', views.event_list, name='event_list'),
]
这个配置意味着访问/events/
时,Django将调用views.event_list
视图。
表单(Forms) Django的表单系统简化了用户输入数据的处理。你可以定义表单类,基于模型或自定义字段集,然后在视图中使用它们。例如:
from django import forms
from .models import Event
class EventForm(forms.ModelForm):
class Meta:
model = Event
fields = ['title', 'description', 'start_time', 'end_time']
然后在视图中使用这个表单来处理POST请求,并验证用户提交的数据。
管理站点(Admin site) Django的内置管理站点提供了一个方便的后台界面,用于管理数据库中的模型。只需在admin.py
中注册你的模型,就能立即获得一个功能齐全的CRUD(创建、读取、更新、删除)界面:
from django.contrib import admin
from .models import Event
admin.site.register(Event)
暂无评论