学点简单的Django之第一个Django程序的实现

下面我会给出学习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',
]

示例一:实现一个简单的计算器

示例一我们将用到前四步的内容。

下面我们来实现一个简单的计算器,这个计算器将实现两个数字的加、减、乘、除运算,以下是实现步骤:

  1. 创建两个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页面用于显示运算结果。

  1. 在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的请求。该视图函数判断用户是否提交了计算请求,如果是,则从请求中获取数字和算术运算符,并计算出结果,如果不是,则显示计算器页面。

  1. 在myapp/urls.py文件中定义URL模式,即:
from django.urls import path

from . import views

urlpatterns = [
    path('calculator/', views.calculator, name='calculator'),
]

在上述代码中,我们定义了一个URL模式,URL为/calculator/,视图函数为calculator,名称为calculator。

  1. 在mysite/settings.py文件中的INSTALLED_APPS列表中添加'myapp'。

  2. 在浏览器中访问http://127.0.0.1:8000/calculator/ 即可打开计算器页面,输入数字并选择算术运算符,点击Calculate按钮就可以得到运算结果。

示例二:使用Django管理后台进行数据管理

示例二中,我们将讲解如何使用Django提供的管理后台进行数据管理,以下是实现步骤:

  1. 在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。

  1. 在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。

  1. 在浏览器中访问http://127.0.0.1:8000/admin/ 即可进入Django管理后台界面,输入管理员账号和密码,就可以进入管理后台了。在管理后台界面中,你可以看到Book模型已经被添加到了界面上,你可以通过该界面来管理Book模型。

上述就是使用Django管理后台进行数据管理的实现步骤。

以上是学习Django的第一个程序实现的完整攻略及两条示例说明。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:学点简单的Django之第一个Django程序的实现 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • 详解Python的Django框架中Manager方法的使用

    当开发基于Django框架的Web应用程序时,我们需要在模型中使用许多方法来管理数据。其中一个非常重要的方法是Manager方法。在本攻略中,我们将详细讲解Python的Django框架中Manager方法的使用,以及如何在您的应用程序中使用它来管理数据。 什么是Manager方法? Manager方法是一个用于管理Django模型中数据的对象。它允许您定义…

    Django 2023年5月16日
    00
  • Django 生命周期

    Django 生命周期为: 用户请求发起对url的请求→ wsgiref模块→django中间件→django(视图url对应函数,模型数据库交互,html模版渲染)→django中间件 → wsgiref模块 →用户看到的页面。   from wsgiref.simple_server import make_server def RunServer(en…

    Django 2023年4月11日
    00
  • django 執行數據遷移 報錯:HINT: Add or change a related_name argument to the definition for ‘User.user_permissions’ or ‘User.u

    解決方法: 1.在項目的settings 中,添加 AUTH_USER_MODEL=”users.UserProfile”#app名稱下的UserProfile 類其中 users 表示 你的app;UserProfile 表示你在models下 創建的類然後再執行 makemigrations users migrate users 即可 如圖:  

    Django 2023年4月12日
    00
  • Python – Django – ORM 操作数据

    app01/models.py 中定义的类,也就是创建的表 from django.db import models # 类必须继承 models.Model class Admin(models.Model): # 创建一个主键自增的字段 id = models.AutoField(primary_key=True) # AutoField 为自增的字段 …

    Django 2023年4月10日
    00
  • 简化Python的Django框架代码的一些示例

    我们来详细讲解一下“简化Python的Django框架代码的一些示例”的完整攻略。 1. 删除重复代码 在Django开发中,经常会出现重复的代码块,这些代码不仅增加了代码量,还会降低代码的可读性和可维护性。我们可以通过把这些重复的代码块抽象成单独的函数,来减少代码量,提高代码的可读性和可维护性。 比如,我们可以将下面的示例代码: def create_po…

    Django 2023年5月16日
    00
  • 使用Django搭建网站实现商品分页功能

    下面是使用Django搭建网站实现商品分页功能的完整攻略。 前置知识 在实现商品分页功能之前,需要了解以下知识: Django框架基本概念和使用方法 Django中模型(Model)的概念和使用方法 Django中视图(View)的概念和使用方法 Django中模板(Template)的概念和使用方法 HTML和CSS的基础知识 实现步骤 创建Django项…

    Django 2023年5月16日
    00
  • django orm操作(1)

    MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动 ORM是“对象-关系-映射”的简称。 View Code 回到顶部 单表操作 创建表 1  创建模型 创建名为book的ap…

    Django 2023年4月13日
    00
  • Django – 权限(5)- 非菜单权限对应的一级菜单展开、面包屑导航

    一、非菜单权限对应的一级菜单展开   需求:客户列表和账单列表页面中都有添加按钮,当点击添加客户(或编辑客户、删除客户)时,客户列表所属的一级菜单展开,当点击添加账单(或编辑账单、删除账单)时,账单列表所属的一级菜单展开。 1、permission表新增一个pid字段,表示非菜单权限的父级菜单权限id,permission模型类如下: class Permi…

    Django 2023年4月10日
    00
合作推广
合作推广
分享本页
返回顶部