📌  相关文章
📜  没有页面重新加载的Django表单提交

📅  最后修改于: 2022-05-13 01:55:10.394000             🧑  作者: Mango

没有页面重新加载的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


    
        {% csrf_token %}                       
                  


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


    
        {% csrf_token %}                       
                  

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

输出

管理页面