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

yizhihongxing

下面我会给出学习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中结合vue进行前后端分离

    使用Python框架Django和JavaScript框架Vue结合进行前后端分离,能够提高开发效率,优化代码结构和分工。下面是一个详细的攻略,分为两个示例说明。 示例一:前后端分离项目创建 1. 创建Django项目 使用Django的脚手架 django-admin 可以快速创建一个Django项目,命令如下: django-admin startpro…

    Django 2023年5月16日
    00
  • django中ModelForm解决多表单组合显示问题

    一、多表单组合显示问题 在项目中用ModelForm生成页面时 当有多表单组合显示时,会显示全部的关联表单数据。   而在实际项目中可能会出现只想让用户选择部分数据,这时候这样的显示就有问题。 二、问题解决方案 views.py 实例化Form对象时注意把当前登录用户对象传到Form中 class Add_Edit_ConsultRecord(View): …

    Django 2023年4月12日
    00
  • Django 在admin中自定义app名

    前提条件,注册时是: 完整的注册,不是直接用app名进行注册 INSTALLED_APPS = [ ‘django.contrib.admin’, ‘django.contrib.auth’, ‘django.contrib.contenttypes’, ‘django.contrib.sessions’, ‘django.contrib.messages’…

    Django 2023年4月11日
    00
  • windows下简单部署django+vue项目(打包后)

      使用场景: 1. 自己公司内部用,没准备linux时候。 2. 不用nginx,不用uwsgi,不用node部署vue   实现思路: vue代码打包后,生成html、css、js文件,  css、js等把他搞到django的static目录下,index.html搞到template目录下,之后访问任意路由先做api和static匹配,最后没有选择了直…

    Django 2023年4月11日
    00
  • Linux部署Django:报错 nohup: ignoring input and appending output to ‘nohup.out’

    一、部署 Django 到远程 Linux 服务器 利用 xshell 通过 ssh 连接到 Linux服务器,常规的启动命令是 python3 manage.py runserver 0.0.0.0:80 但是,关闭 xshell 后,就访问不了 Django 了。 这时候需要使用 nohup 命令启动(概念:如果你正在运行一个进程,而且你觉得在退出帐户时…

    Django 2023年4月10日
    00
  • Django中url name

    花了好长时间才明白这个name参数的含义。便写下来了备忘 当我们在url的时候,一般情况下都是使用很明确的url地址。如在网页里面使用<a href=”/login”>登录</a>.像这样的链接有很 多。假如有一天,突然需要改变登录的链接,想将/login变成/login_first 这样的话,就需要将url里面的正则改变成 ^log…

    Django 2023年4月11日
    00
  • 启动Django项目

    Django是一个高效、灵活、模块化的Python web框架,用于快速开发Web应用程序。Django的核心包括模型、视图和模板,它们可以帮助开发人员快速构建功能强大的Web应用程序,并提供一种易于使用的API来连接不同的组件。 在这篇文章中,我们将学习如何启动Django项目。下面是详细的步骤: 首先,确保你安装了Python。 你需要安装Python才…

    Django 2023年3月12日
    00
  • Django中apps.py自动在路由加载之前自动寻找其他app中的py文件并加载

    现在settings.py中,如下插入的最后3行 INSTALLED_APPS = [ ‘django.contrib.admin’, ‘django.contrib.auth’, ‘django.contrib.contenttypes’, ‘django.contrib.sessions’, ‘django.contrib.messages’, ‘dja…

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