python djangon

1. 介绍 Python Django

Python Django 是一个使用 Python 语言编写的开源 Web 框架,可以帮助开发人员快速、高效地开发 Web 应用程序。

1.1 为什么选择 Python Django

易于上手:Python 语言简洁易学,对于初学者来说简单易懂;Django 抽象程度高:Django 将很多常用的 Web 开发操作封装成高层次的 API,简化了开发过程。

1.2 Python Django 的特点

MTV 模式:Django 使用 Model-Template-View(模型-模板-视图)的软件设计模式,将 Web 应用程序的各个部分分离,使得代码更加清晰易维护;ORM 和数据库支持:Django 内置了良好的 Object-Relational Mapping(对象-关系映射)工具和对多种数据库的支持。

2. 安装 Python Django

在安装 Django 之前,需要先安装 Python,确保 Python 版本与 Django 版本兼容。

pip install django

3. Django 的三个主要部分

3.1 模型层

模型层是 Django Web 框架中的关键部分,它用于处理数据,并实现了数据库操作。

Django 中的 ORM(Object-Relational Mapping)框架提供了一种面向对象的数据库访问方法。

每个模型类都会映射到一个数据库表。

# 模型类定义

from django.db import models

class User(models.Model):

name = models.CharField(max_length=50)

age = models.IntegerField()

# 数据库迁移

python manage.py makemigrations

python manage.py migrate

3.2 视图层

视图层是 Django Web 框架的核心部分,用于控制 Web 应用程序的行为。

在 Django 中,视图是一个处理 HTTP 请求并返回 HTTP 响应的 Python 函数。

# 视图函数定义

from django.http import HttpResponse

def index(request):

return HttpResponse("Hello, world. You're at the polls index.")

3.3 模板层

模板层是 Django Web 框架中的另一个重要部分,用于处理 Web 应用程序的展示逻辑。

模板是一个包含静态文本、变量和标记的文件,可以用来生成 HTML、XML 或其他文本格式。

# 模板文件

<html>

<head>

<title>{{ title }}</title>

</head>

<body>

<p>{{ content }}</p>

</body>

</html>

4. Django 的其他常用功能

4.1 静态文件处理

Django 提供了一种方便的方法来处理静态文件,例如 CSS、JavaScript 和图像文件。

在项目 settings.py 文件中设置 STATICFILES_DIRS 变量来指定静态文件的路径。

# settings.py

STATICFILES_DIRS = [

os.path.join(BASE_DIR, "static"),

]

# 使用 static 作为静态文件目录的 URL

{% load static %}

4.2 表单处理

Django 提供了一种方便的方法来处理 Web 表单。

在视图函数中,可以通过 request.POST 获取表单数据。

# forms.py

from django import forms

class ContactForm(forms.Form):

subject = forms.CharField()

email = forms.EmailField(required=False)

message = forms.CharField(widget=forms.Textarea)

# views.py

from django.shortcuts import render

from .forms import ContactForm

def contact(request):

form = ContactForm()

if request.method == 'POST':

form = ContactForm(request.POST)

if form.is_valid():

# 处理表单数据

pass

return render(request, 'contact.html', {'form': form})

4.3 用户认证与授权

Django 提供了一些内置的功能来处理用户认证和授权。

可以使用内置的 User 模型和 AuthenticationMiddleware 中间件来实现用户认证和授权。

# 用户认证

from django.contrib.auth import authenticate, login, logout

# 用户登录

def user_login(request):

if request.method == 'POST':

username = request.POST.get('username')

password = request.POST.get('password')

user = authenticate(request, username=username, password=password)

if user is not None:

login(request, user)

else:

pass

# 用户登出

def user_logout(request):

logout(request)

5. 总结

Python Django 是一个优秀的 Web 开发框架,具有易于上手、抽象程度高、使用方便等特点。

Django 的三个主要部分分别是模型层、视图层和模板层。

Django 还提供了其他常用功能,例如静态文件处理、表单处理以及用户认证与授权。

后端开发标签