0
点赞
收藏
分享

微信扫一扫

django创建一个新页面并监测button点击事件

沐之轻语 2022-02-06 阅读 109

效果如图,django打开一个index页面,然后当点击按钮的时候,django后端会获取到点击事件
在这里插入图片描述
此处默认您已经搭好了django框架,可以运行出如下的默认页面(如果框架未搭好,请参考本篇文章https://blog.csdn.net/changyana/article/details/122650320)
在这里插入图片描述

首先需要在django项目里新建一个应用
创建应用register,在该项目的终端里输入如下代码,表示自动生成一个register的应用
python manage.py startapp register
在这里插入图片描述

等待几秒项目中就会自动出现register文件夹
在这里插入图片描述
接着需要在总项目目录settings.py中添加新建的register,位置如图
在这里插入图片描述

接着创建前端的按钮界面,这是html页面,需要在register里新建一个templates文件夹,专门用来存放html文件,新建页面命名为index.html,应该放置的位置如图
在这里插入图片描述

index.html文件代码如下

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>test</title>
    </head>
    <body>
        <form action="/index/" method="post">
            {% csrf_token %}
            <p><input type="submit" value="提交"/></p>
        </form>
    </body>

</html>

接着需要在settings.py里进行监测html页面的渲染
在这里插入图片描述
添加的代码为
os.path.join(BASE_DIR, 'templates')

接着需要在刚刚新建的register文件夹里的views.py里获取到html里的事件,文件位置如图:
在这里插入图片描述
views.py文件代码如下:

from django.shortcuts import render  # 导入render模块

i = 0               # 设置全局变量,监测是否为首次加载页面


def index(request):
    global i        # 同步全局变量
    i += 1
    if i != 1:      # 监测按钮点击事件
        print("已点击")
    else:
        print("初次加载页面")
    return render(request, 'index.html')  # 通过render模块把index.html这个文件返回到前端

之后需要在总项目的urls.py里注册该views,位置如图
每个红框里的2行代码都要添加上,总共需要添加4行代码,缺少任何一行都会页面报错!
在这里插入图片描述
我的urls.py代码如下:

from django.contrib import admin
from django.urls import path
from register import views  # 导入views模块
from register.views import index

urlpatterns = [
    path('admin/', admin.site.urls),
    path('index/', views.index),
    path('', index)
]

之后运行成功,打开默认端口如图
在这里插入图片描述

控制台输出如图:
在这里插入图片描述
当我点击页面的按钮后,页面显示如图
在这里插入图片描述
控制台输出如图:
在这里插入图片描述
大功告成!

举报

相关推荐

0 条评论