下面我会给出学习Django的第一个程序实现的完整攻略,并配以两条示例说明:
第一步:安装并创建Django项目
- 安装Django:在命令行中输入指令:pip install django;
- 创建Django项目:在命令行中输入指令:django-admin startproject mysite。
执行完以上两个步骤后,你就已经成功创建了一个Django项目。
第二步:创建应用
当你创建好Django项目之后,你就要开始创建你的第一个应用了,具体步骤如下:
- 在命令行中输入指令:cd mysite;
- 在命令行中输入指令:python manage.py startapp myapp。
继续以下步骤,我们将会用到myapp文件夹,该文件夹在你的项目文件中会显示出来。
第三步:定义视图函数
在你创建好第一个应用后,你需要定义一个视图函数,这个函数是Django的MVT(Model-View-Template)框架的一个重要部分,它就是用来处理用户请求并返回相应结果的。
打开myapp/views.py文件,在其中定义一个视图函数,例如:
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello World!")
上述代码用于创建一个名为hello的视图函数,它会返回一个“Hello World!”字符串。
第四步:定义URL模式
视图函数用于处理用户请求,但如何让Django路由将请求引导到正确的视图函数呢?这就需要定义URL模式。
打开myapp/urls.py文件,定义一个URL模式,例如:
from django.urls import path
from . import views
urlpatterns = [
path('hello/', views.hello, name='hello'),
]
- path()函数接收三个参数,第一个参数是URL模式,即请求的URL;第二个参数是对应的视图函数;第三个参数是该URL模式的名称;
- 在上述示例中,我们定义的URL模式为/hello/,视图函数为hello,名称为hello。
第五步:将应用添加到项目中
在完成上述步骤后,需要在项目中加入已创建应用。打开mysite/settings.py文件,在INSTALLED_APPS列表中添加'polls',即:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp',
]
示例一:实现一个简单的计算器
示例一我们将用到前四步的内容。
下面我们来实现一个简单的计算器,这个计算器将实现两个数字的加、减、乘、除运算,以下是实现步骤:
- 创建两个HTML文件, myapp/templates/calculator.html 和 myapp/templates/result.html:
<!-- calculator.html -->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Calculator</title>
</head>
<body>
<h1>Calculator</h1>
<form method="post" action="{% url 'calculator' %}">
{% csrf_token %}
<input type="text" name="num1">
<select name="operator">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input type="text" name="num2">
<input type="submit" value="Calculate">
</form>
</body>
</html>
<!-- result.html -->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Result</title>
</head>
<body>
<h1>Result</h1>
<p>{{ num1 }} {{ operator }} {{ num2 }} = {{ result }}</p>
</body>
</html>
其中calculator.html页面包含一个表单,可以输入两个数字并选择一个算术运算符,result.html页面用于显示运算结果。
- 在myapp/views.py文件中定义一个视图函数,即:
from django.shortcuts import render
from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def calculator(request):
if request.method == 'POST':
num1 = float(request.POST.get('num1'))
num2 = float(request.POST.get('num2'))
operator = request.POST.get('operator')
if operator == '+':
result = num1 + num2
elif operator == '-':
result = num1 - num2
elif operator == '*':
result = num1 * num2
else:
result = num1 / num2
context = {'num1': num1, 'num2': num2, 'operator': operator, 'result': result}
return render(request, 'result.html', context)
return render(request, 'calculator.html')
在上述代码中,我们定义了一个名为calculator的视图函数,用于响应/calculator/ URL的请求。该视图函数判断用户是否提交了计算请求,如果是,则从请求中获取数字和算术运算符,并计算出结果,如果不是,则显示计算器页面。
- 在myapp/urls.py文件中定义URL模式,即:
from django.urls import path
from . import views
urlpatterns = [
path('calculator/', views.calculator, name='calculator'),
]
在上述代码中,我们定义了一个URL模式,URL为/calculator/,视图函数为calculator,名称为calculator。
-
在mysite/settings.py文件中的INSTALLED_APPS列表中添加'myapp'。
-
在浏览器中访问http://127.0.0.1:8000/calculator/ 即可打开计算器页面,输入数字并选择算术运算符,点击Calculate按钮就可以得到运算结果。
示例二:使用Django管理后台进行数据管理
示例二中,我们将讲解如何使用Django提供的管理后台进行数据管理,以下是实现步骤:
- 在myapp/models.py文件中定义模型或表结构,例如:
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=50)
pub_date = models.DateField()
def __str__(self):
return self.title
上述代码定义了一个名为Book的模型,它包含三个字段:title、author和pub_date。
- 在myapp/admin.py文件中定义一个管理类,用于管理Book模型,例如:
from django.contrib import admin
from .models import Book
@admin.register(Book)
class BookAdmin(admin.ModelAdmin):
list_display = ('title', 'author', 'pub_date')
list_filter = ('pub_date',)
在上述代码中,我们定义了一个名为BookAdmin的管理类,它继承自admin.ModelAdmin类,包含两个属性:list_display和list_filter。
- 在浏览器中访问http://127.0.0.1:8000/admin/ 即可进入Django管理后台界面,输入管理员账号和密码,就可以进入管理后台了。在管理后台界面中,你可以看到Book模型已经被添加到了界面上,你可以通过该界面来管理Book模型。
上述就是使用Django管理后台进行数据管理的实现步骤。
以上是学习Django的第一个程序实现的完整攻略及两条示例说明。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:学点简单的Django之第一个Django程序的实现 - Python技术站