Python的Django框架使用入门指引
什么是Django
Django是一个高级Web应用框架,使用Python编写。它帮助开发人员轻松地构建和维护复杂的Web应用程序。Django相对于其他Web框架的优势在于它的可扩展性,开发速度快和安全性高。
Django的安装
要安装Django,您需要安装Python。在安装Python之后,可以在命令行中使用以下命令安装Django:
pip install django
Django的创建
要创建Django应用程序,请首先创建一个项目。在命令行中使用以下命令:
django-admin startproject mysite
这将创建一个名为“mysite”的新项目。该项目包括一个具有相应名称(mysite)的包和一组文件。
接下来,进入该目录并运行以下命令以创建Django应用程序:
cd mysite
python manage.py startapp myapp
这将创建一个名为“myapp”的新应用程序并在新的“myapp”子目录中放置它。
Django的配置
要将Django配置为运行Web服务器,请遵循以下步骤:
打开“mysite”目录中的“settings.py”文件。
找到“INSTALLED_APPS”并添加以下行:
INSTALLED_APPS = [
...
'myapp',
...
]
将以下行添加到文件的末尾:
STATIC_URL = '/static/'
保存并关闭文件。
Django的路由
在Django中,URL路由是将URL映射到视图函数的过程。要为我们的应用程序创建路由,请执行以下操作:
打开“myapp”目录中的“urls.py”文件。
将以下文本添加到文件中:
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
path('about/', views.about, name='about'),
]
其中“home”和“about”是路由名称,在这里,我们只为根路由和“about”路由指定了视图函数。
Django的视图
视图是我们创建的函数,它们将处理到达我们应用程序的请求并返回响应。要创建Django视图,请执行以下操作:
打开“myapp”目录中的“views.py”文件。
在该文件中,我们可以创建要为特定路由执行的函数。在这里,我们将为根路由和“about”路由创建两个视图函数:
from django.shortcuts import render
from django.http import HttpResponse
def home(request):
return HttpResponse('Welcome to my homepage!')
def about(request):
return HttpResponse('About me!')
Django的模板
要在Django应用程序中使用模板,请按以下步骤操作:
在“myapp”目录中创建一个名为“templates”的新目录。
创建一个名为“home.html”的新文件并将以下内容添加到该文件中:
<!DOCTYPE html>
<html>
<head>
<title>Home Page</title>
</head>
<body>
<h1>Welcome to my homepage!</h1>
</body>
</html>
创建一个名为“about.html”的新文件并将以下内容添加到该文件中:
<!DOCTYPE html>
<html>
<head>
<title>About Me</title>
</head>
<body>
<h1>About me!</h1>
</body>
</html>
Django的运行
要在本地主机上运行Django应用程序,请按照以下步骤操作:
使用以下命令启动Web服务器(确保您正在“manage.py”文件所在的目录中):
python manage.py runserver
在Web浏览器中打开“http://127.0.0.1:8000/”以访问根路由。
在Web浏览器中打开“http://127.0.0.1:8000/about/”以访问“about”路由。
示例1:Django Web应用程序
下面是一个简单的Django Web应用程序的示例。该应用程序包括以下内容:
在主页上,用户可以输入一个用户名并按下“提交”按钮。用户输入的用户名将被保存在数据库中。
在“User List”页面上,将显示所有先前提交的用户名的列表。
步骤1:创建一个新的Django应用程序
请使用以下命令创建新应用。
python manage.py startapp user_app
步骤2:创建Django模型
在“user_app”目录中,创建一个名为“models.py”的新文件。
from django.db import models
class User(models.Model):
name = models.CharField(max_length=100)
在这个例子中,我们将创建一个名为“User”的模型。该模型包含一个名为“name”的CharField。
步骤3:创建Django视图
在“user_app”目录中的“views.py”文件中,添加以下内容:
from django.shortcuts import render, redirect
from .models import User
def home(request):
if request.method == 'POST':
name = request.POST.get('name')
user = User(name=name)
user.save()
return redirect('/user_list/')
return render(request, 'home.html')
def user_list(request):
users = User.objects.all()
return render(request, 'user_list.html', {'users': users})
在这个例子中,我们为主页和“User List”页创建了两个视图:home()
和user_list()
。
步骤4:创建Django模板
在“user_app”目录中的“templates”目录中,创建以下两个文件。
home.html
<!DOCTYPE html>
<html>
<head>
<title>Home Page</title>
</head>
<body>
<form method="POST">
{% csrf_token %}
<label for="name">Name:</label>
<input type="text" id="name" name="name">
<input type="submit" value="Submit">
</form>
</body>
</html>
user_list.html
<!DOCTYPE html>
<html>
<head>
<title>User List</title>
</head>
<body>
<h1>User List</h1>
{% for user in users %}
<li>{{ user.name }}</li>
{% endfor %}
</body>
</html>
步骤5:配置Django路由
在“user_app”目录中的“urls.py”文件中,添加以下内容:
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
path('user_list/', views.user_list, name='user_list'),
]
步骤6:运行Django应用程序
运行以下命令以在本地主机上启动Web服务器:
python manage.py runserver
在Web浏览器中输入“http://127.0.0.1:8000/”以访问主页并输入用户名。然后单击“提交”按钮。
在Web浏览器中输入“http://127.0.0.1:8000/user_list/”以访问“User List”页面,将显示以前提交的所有用户名。
示例2:RESTful API服务器
在Django中,可以通过创建RESTful API来提供数据服务。下面是一个将提供以下API的Django应用程序的示例。
步骤1:创建API视图
在“user_app”目录中的“views.py”文件中创建以下API视图:
from django.http import JsonResponse
from .models import User
def user_list(request):
users = User.objects.all()
user_list = []
for user in users:
user_list.append({'id': user.id, 'name': user.name})
return JsonResponse({'users': user_list})
def user_detail(request, user_id):
user = User.objects.get(id=user_id)
user_dict = {'id': user.id, 'name': user.name}
return JsonResponse(user_dict)
在这个例子中,我们创建了两个API视图:user_list()
和user_detail()
。user_list()
返回所有用户的列表,而user_detail()
返回一个特定用户的详细信息。
步骤2:配置API路由
在“user_app”目录中的“urls.py”文件中创建以下API路由:
from django.urls import path
from . import views
urlpatterns = [
path('api/user_list/', views.user_list),
path('api/user_detail/<int:user_id>/', views.user_detail),
]
步骤3:启动Django应用程序
与示例1一样,启动以下命令以运行Web服务器:
python manage.py runserver
在Web浏览器中输入“http://127.0.0.1:8000/api/user_list/”以获取所有用户的列表。要获取特定用户的详细信息,请输入“http://127.0.0.1:8000/api/user_detail/{user_id}/”,其中“{user_id}”是您要获取的用户的ID。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python的Django框架使用入门指引 - Python技术站