📜  django 站点框架 - Python (1)

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

Django 站点框架 - Python

Django 是一款基于 Python 编程语言的高级 Web 应用程序框架。它采用了模型-视图-控制器(MVC)的软件架构模式,使得开发 Web 应用与后端数据库变得简单高效。

简介

Django 是由 Lawrence Journal-World 公司开发的 Web 应用框架,并于 2005 年以 BSD 许可证的形式开源发布。Django 支持多个数据库后端,包括 MariaDB、MySQL、Oracle 和 Postgres 等数据库。与其他 Web 框架相比,Django 在开发 Web 应用程序方面提供了更多的灵活性和可扩展性。

Django 的核心是在模型中定义用于存储数据的类。模型可以简单地被转化为数据库表,并且 Django 提供了完整的对象关系映射(ORM)系统,使得对数据进行操作变得非常简单。视图处理用户请求,并生成 Web 页面,而表单则用于接受用户的输入。

安装

要安装 Django,请使用以下命令:

pip install django
快速入门

以下是一个简单的 Django 示例:

# 定义模型
from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=200)
    author = models.CharField(max_length=200)
    publication_date = models.DateField()

# 定义表单
from django import forms

class BookForm(forms.ModelForm):
    class Meta:
        model = Book
        fields = '__all__'

# 定义视图
from django.shortcuts import render
from .forms import BookForm

def add_book(request):
    if request.method == 'POST':
        form = BookForm(request.POST)
        if form.is_valid():
            form.save()
    else:
        form = BookForm()
    return render(request, 'add_book.html', {'form': form})

# 定义 URL
from django.urls import path
from .views import add_book

urlpatterns = [
    path('add_book/', add_book, name='add_book'),
]
模型

在 Django 中,模型是核心概念之一。模型是一个 Python 类,它定义了要在数据库中创建的数据对象。模型是在 models.py 文件中定义的,并且必须从 django.db.models.Model 类继承。

from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=200)
    author = models.CharField(max_length=200)
    publication_date = models.DateField()
表单

Django 的表单是 Web 表单的抽象。表单可以自动从模型中创建,并且可以用于准确地验证用户输入。表单是在 forms.py 文件中定义的,并且必须从 django.forms.Formdjango.forms.ModelForm 类型的一个继承。

from django import forms
from .models import Book

class BookForm(forms.ModelForm):
    class Meta:
        model = Book
        fields = '__all__'
视图

视图是 Python 函数,用于处理用户请求。每个视图都接收一个 HTTP 请求对象作为参数,并返回一个 HTTP 响应对象。视图通常会从数据库中获取数据,然后将其传递给 Django 模板,最终生成 HTML 响应。

from django.shortcuts import render
from .forms import BookForm

def add_book(request):
    if request.method == 'POST':
        form = BookForm(request.POST)
        if form.is_valid():
            form.save()
    else:
        form = BookForm()
    return render(request, 'add_book.html', {'form': form})
URL 路由

将 URL 路由到正确的视图函数是 Django 应用程序的核心。路由在 urls.py 文件中定义,并且使用 URLConf(URL 配置)语法。

from django.urls import path
from .views import add_book

urlpatterns = [
    path('add_book/', add_book, name='add_book'),
]
结论

Django 是一款强大的 Web 应用程序框架,采用了模型-视图-控制器(MVC)架构模式。它在开发 Web 应用程序方面提供了很多灵活性和可扩展性。Django 的核心是在模型中定义用于存储数据的类。Django 还提供了完整的对象关系映射(ORM)系统,使得对数据进行操作变得非常简单。如果你想要开发高质量的 Web 应用程序,那么 Django 绝对是一个值得考虑的选择。