效果如图,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)
]
之后运行成功,打开默认端口如图
控制台输出如图:
当我点击页面的按钮后,页面显示如图
控制台输出如图:
大功告成!