📜  Django功能(1)

📅  最后修改于: 2023-12-03 15:30:30.884000             🧑  作者: Mango

Django功能

Django是一种高性能的Python Web框架,它有着强大的功能,能够快速开发强大的Web应用程序。

MVC模式

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应用程序。