没有页面重新加载的Django表单提交
Django 是一个高级Python Web 框架,它鼓励快速开发和简洁实用的设计。它由经验丰富的开发人员构建,解决了 Web 开发的大部分麻烦,因此您可以专注于编写应用程序,而无需重新发明轮子。它是免费和开源的。
在本文中,我们将看到在 django 中使用 Jquery 和 Ajax 无需重新加载页面即可提交表单
要安装 django,打开 cmd 或终端并写入以下命令
pip3 install django
然后新建项目
django-admin startproject newproj
cd newproj
然后用于创建新应用程序
视窗
python manage.py startapp main
Ubuntu
python3 manage.py startapp main
在settings.py中添加您的应用名称
在应用程序内创建新目录并将其命名为模板,创建另一个目录并将其命名为main (您的应用程序名称)
运行此命令进行迁移
python manage.py migrate
在models.py中创建新模型
模型.py
Python3
from django.db import models
# Create your models here.
class Todo(models.Model):
task = models.CharField(max_length=200)
def __str__(self):
return f"{self.task}"
Python3
from django.contrib import admin
from .models import *
# Register your models here.
admin.site.register(Todo)
HTML
Todo List
Python3
from django.shortcuts import render
from .models import Todo
# Create your views here.
def home(request):
if request.method == 'POST':
task=request.POST.get('task')
print(task)
new = Todo(task=task)
new.save()
return render(request,"main/form.html")
Python3
from django.urls import path
from .views import *
urlpatterns = [
path('',home,name="home"),
]
Python3
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('',include("main.urls"))
]
python manage.py makemigrations
python manage.py migrate
管理文件
蟒蛇3
from django.contrib import admin
from .models import *
# Register your models here.
admin.site.register(Todo)
在模板目录中创建新文件并将其命名为form.html
HTML
Todo List
在views.py中创建新视图来处理 get 和 post 请求。
蟒蛇3
from django.shortcuts import render
from .models import Todo
# Create your views here.
def home(request):
if request.method == 'POST':
task=request.POST.get('task')
print(task)
new = Todo(task=task)
new.save()
return render(request,"main/form.html")
在您的应用程序中创建新文件并将其命名为urls.py
蟒蛇3
from django.urls import path
from .views import *
urlpatterns = [
path('',home,name="home"),
]
在项目 urls 中添加 main.urls
myproj/urls.py
蟒蛇3
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('',include("main.urls"))
]
运行应用写入命令
python manage.py runserver
输出
管理页面