这只是一个基础功能模板,更重要的意义在于基于其原理的扩展应用上。
一,路由
MyDjango/urls.py:
from django.urls import path, include
from django.contrib import admin
urlpatterns = [
path('admin/', admin.site.urls),
path('', include(('user.urls', 'user'), namespace='user')),
]
user/urls.py:
from django.urls import path
from user.views import *
urlpatterns = [
path('basicexample', basicexample, name='basicexample'),
path('add', add, name='add'),
]
二,视图
user/views.py:
from django.shortcuts import render
from django.http import HttpResponse
def basicexample(request):
print(request.GET)
return render(request, 'test.html')
def add(request):
a = int(request.GET['a'])
b = int(request.GET['b'])
res = str(a + b)
print('res:', res)
return HttpResponse(res)
三,模板
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ajax无刷计算器</title>
</head>
<body>
<p>输入两个整数</p>
<form action="add" method="get">
{% csrf_token %}
a: <input type="text" id="a" name="a"><br>
b: <input type="text" id="b" name="b"><br>
<p>result: <span id="res"></span></p>
<button type="button" id="sum">求和</button>
</form>
<script src="{% static 'js/jquery-1.11.0.js' %}"></script>
<script>
$(document).ready(function () {
$('#sum').click(function () {
var a = $('#a').val();
var b = $('#b').val();
$.ajax({
url: 'add',
type: 'GET',
data: {'a': a, 'b': b},
success: function (res) {
alert("上传成功")
$('#res').html(res)
},
error: function () {
alert("上传失败!")
console.log(data)
}
})
});
});
</script>
</body>
</html>