📅  最后修改于: 2023-12-03 15:14:44.983000             🧑  作者: Mango
Django是一个基于Python的开源Web应用框架。Django遵循MVC(Model-View-Controller)的设计模式,它的目标是简化Web应用程序的开发。Django旨在使开发者能够快速开发复杂的Web应用程序,并遵循最佳实践。
Django应用程序是一个Web应用程序,由一个或多个Django应用程序组成。每个Django应用程序都可以单独运行,并且是可重用的。Django应用程序通常包含一个模型来处理数据,一个视图来处理用户请求和一个模板来渲染响应。
要创建Django应用程序,请遵循以下步骤:
django-admin startproject myproject
python manage.py startapp myapp
from django.shortcuts import render
from django.http import HttpResponse
def home(request):
return HttpResponse("Hello, Django app!")
from django.urls import path
from myapp.views import home
urlpatterns = [
path('home/', home, name='home'),
]
python manage.py runserver
http://127.0.0.1:8000/home/
。Django模型是一个Python类,用于将数据映射到关系型数据库中的表。模型定义位于应用程序的models.py
文件中。一个简单的模型如下:
from django.db import models
class Person(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
age = models.IntegerField()
def __str__(self):
return f'{self.first_name} {self.last_name}'
在这个例子中,我们定义了一个Person模型,用于表示一个人的基本信息。Person模型有三个属性:first_name、last_name和age。__str__()
方法定义了如何显示Person实例。
Django视图用于处理用户的请求,并返回响应。在Django中,视图通常是一个Python函数,它接受一个HttpRequest对象作为参数,并返回一个HttpResponse对象。一个简单的视图如下:
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello, world!")
在这个例子中,我们定义了一个hello函数,它接受一个HttpRequest对象作为参数,并返回一个包含“Hello,world!”文本的HttpResponse对象。
Django模板用于渲染Web页面。在Django中,模板是一个包含HTML和变量标记的文件。模板文件通常存储在应用程序的templates
目录中。在模板中,我们可以使用Django模板语言(DTL)来添加变量和标签。一个简单的模板如下:
<!DOCTYPE html>
<html>
<head>
<title>{{title}}</title>
</head>
<body>
<h1>{{header}}</h1>
<p>{{content}}</p>
</body>
</html>
在这个例子中,我们定义了一个简单的HTML模板,包含三个变量:title、header和content。模板渲染函数将使用这些变量来渲染Web页面。
Django路由用于将URL请求映射到正确的视图函数。在Django中,路由通常由一个URL模式和一个视图函数组成。路由定义位于应用程序的urls.py
文件中。一个简单的路由如下:
from django.urls import path
from myapp.views import hello
urlpatterns = [
path('hello/', hello, name='hello'),
]
在这个例子中,我们定义了一个路由,它将/hello/
URL请求映射到hello视图函数。
Django是一个强大而灵活的Web框架,它可以帮助开发者快速创建复杂的Web应用程序。本文介绍了Django应用程序的基本概念,包括模型、视图、模板和路由。通过学习这些基础知识,您将能够开始使用Django创建自己的Web应用程序。