📅  最后修改于: 2023-12-03 15:30:30.884000             🧑  作者: Mango
Django是一种高性能的Python Web框架,它有着强大的功能,能够快速开发强大的Web应用程序。
Django采用MVC模式进行开发,即模型(Model)、视图(View)和控制器(Controller)的结构。
模型是Python类,表示数据模型。模型包含数据的定义和数据的操作方法,例如查询和更新操作。
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=30)
age = models.IntegerField()
def __str__(self):
return self.name
视图是Python函数或类,处理请求并返回响应。视图是连接用户和应用程序的接口。
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world!")
def detail(request, person_id):
person = Person.objects.get(pk=person_id)
return render(request, 'detail.html', {'person': person})
在Django中,控制器称为URLconf,它将HTTP请求映射到视图。URLconf是一个Python模块,包含URL模式和视图的映射。
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
path('<int:person_id>/', views.detail, name='detail'),
]
Django提供了一个内置的管理后台,可以轻松地管理数据库中的数据。管理员可以使用Web界面添加、修改和删除数据。
from django.contrib import admin
from .models import Person
admin.site.register(Person)
Django支持多种数据库,包括SQLite、MySQL、PostgreSQL和Oracle。Django的ORM(对象关系映射)系统可以将Python对象映射到数据库表。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
Django的模板引擎可以将Python对象渲染成HTML页面。模板可以包含变量、表达式、标签和过滤器。
{% extends 'base.html' %}
{% block content %}
<h1>{{ person.name }}</h1>
<p>Age: {{ person.age }}</p>
{% endblock %}
Django的表单处理系统可以验证和处理Web表单。表单可以从HTTP POST请求中收集数据,然后保存到数据库中。
from django import forms
from .models import Person
class PersonForm(forms.ModelForm):
class Meta:
model = Person
fields = ['name', 'age']
Django支持国际化和本地化。开发者可以使用gettext库在应用程序中提供多语言支持。
LANGUAGES = [
('en', 'English'),
('zh-hans', '简体中文'),
('es', 'Español'),
]
USE_I18N = True
Django提供了一个内置的静态文件管理器,可以轻松地管理CSS、JavaScript和图像文件。
{% load static %}
<!doctype html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="{% static 'css/style.css' %}">
</head>
<body>
<img src="{% static 'images/logo.png' %}">
<script type="text/javascript" src="{% static 'js/script.js' %}"></script>
</body>
</html>
Django有着严格的安全性和认证系统,可以保护应用程序免受Web攻击。Django的安全性系统包括CSRF保护、XSS保护和SQL注入保护等。
Django是一种功能强大的Python Web框架,它有着强大的功能,包括MVC模式、管理后台、数据库支持、模板引擎、表单处理、国际化支持、静态文件管理和安全性等。Django可以帮助开发人员快速创建高性能的Web应用程序。