学点简单的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日

相关文章

  • Anaconda+django写出第一个web app(三)

    前面我们已经建立了模型Tutorial,也已经可以用Navicat Premium打开数据看查看数据,接下来我们通过建立admin账户来上传数据。 在命令行执行如下命令来创建用户:  python manage.py createsuperuser  然后输入相应的用户名、邮箱和密码,邮箱可随意填写,接下来执行 python manage.py runser…

    Django 2023年4月11日
    00
  • python django day 3 页面,自动 跳转,参数传递

    zqxt_views/urls.pypath(”, calc_views.index, name=’home’), calc/views.pydef index(request): return render(request, ‘home.html’) calc/templates/home.html<!DOCTYPE html><htm…

    Django 2023年4月13日
    00
  • Django html标签make_safe

    from django.utils.safestring import mark_safe a = mark_safe(“<a href=’#’>test</a>”)  

    Django 2023年4月9日
    00
  • 用highcharts做动态趋势图 (django,jquery)

    用highcharts做动态趋势图 (django,jquery) highcharts官方有个动态图的demo(Spline updating each second)http://www.highcharts.com/demo/dynamic-update 觉得效果不错,作为维护工作用的监控很合适 于是进行丰富(以下代码仅作参考,未考虑异常和安全)===…

    Django 2023年4月12日
    00
  • Django中的文件的上传的几种方式

    Django中的上传文件有多种方式,这里主要介绍三种,分别是使用Django自带的文件上传类、使用第三方库django-storages以及手动实现文件上传。 使用Django自带的文件上传类 Django中自带了一个处理文件上传的类django.forms.ImageField,可以用它来实现上传图片的功能。 在models.py中定义一个ImageFie…

    Django 2023年5月16日
    00
  • django前端到后端一次简单完整的请求实例

      请求过程: 用户请求—〉django的路由系统—〉根据url不同分发到不同的views函数做对应处理—-〉返回html格式的字符串(需要动态请求的到数据库里面拿到数据迁入到html文件中)   一、django项目初始化 二、配置数据库,生成数据     三、配置url.py文件   四、配置views视图函数:   五、编程html文件: …

    Django 2023年4月12日
    00
  • django-博客园首页-实现二级菜单的跳转

    1,空格格式 &nbsp; PS:记住后面要加上; 2,文件样式图标 <span class=”glyphicon glyphicon-comment”></span> #直接用class接收        4,重点:在不增加html页面的情况下,实现二级菜单跳转 想法:在html页面中的 a标签跳转到一个新的url,把htm…

    Django 2023年4月12日
    00
  • Pycharm 操作Django Model的简单运用方法

    下面是详细的“Pycharm 操作Django Model的简单运用方法”的攻略: 1. 安装和配置Pycharm 首先要确保你已经安装了Pycharm,并且成功配置了Django开发环境。如果没有安装和配置,可以参考以下两篇文章进行安装和配置: 如何安装Pycharm? 如何在Pycharm中配置Django环境? 2. 创建Django应用程序 在Pyc…

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