0

那是我在 Django 中的第一个项目。我想制作表格并添加具有模态形式的项目。我使用 Mysql 数据库。从 phpmyadmin 手动添加的项目已经存在于表中,但是当我尝试从模态表单添加时,它无法添加。视图.py

from django.shortcuts import render
from django.http import HttpResponse


from .models import Client

def viewpost(request):

    post_list = Client.objects.all()
    context = {
        'posts': post_list
    }
    return render(request, 'mysite/viewtable.html', context)

def add_client(request):
    if request.method == 'POST':
        post = Client()
        post.name = request.POST.get('name')
        post.surname = request.POST.get('surname')
        post.address = request.POST.get('address')
        post.gender = request.POST.get('gender')
        post.age = request.POST.get('age')
        post.save()

        return render(request, 'mysite/viewtable.html')

    else:
        return render(request, 'mysite/viewtable.html')

网址.py:

from django.urls import path
from . import views
urlpatterns = {
    path('viewtable/', views.viewpost, name='viewpost'),
    path('viewtable/#add_data_Modal', views.add_client, name='add_client'),
}
4

2 回答 2

0

在表格和模态表单不能一起工作之前。如果表格有效,则模态表单不会添加到数据库中,反之亦然。现在他们一起工作:模态表单添加到数据库然后表格在页面上显示数据。但是当我刷新页面数据时添加到数据库两次。视图.py:

def viewpost(request):
    post_list = Persona.objects.all()
    context = {
        'posts': post_list
    }
    if request.method == 'POST':
        if request.POST.get('name') and request.POST.get('surname') and request.POST.get('address'):
            post = Client()
            post.name = request.POST.get('name')
            post.surname = request.POST.get('surname')
            post.address = request.POST.get('address')
            post.age = request.POST.get('age')
            post.save()



            return render(request, 'mysite/viewtable.html', context)

    else:
        return render(request, 'mysite/viewtable.html')
于 2019-10-13T08:07:37.060 回答
0

就这样解决了。这是视图

def viewpost(request):
        post_list = Persona.objects.all()


        if request.method == 'POST':
            if request.POST.get('name') and request.POST.get('surname') and 
            request.POST.get('address'):
                post = Persona()
                post.name = request.POST.get('name')
                post.surname = request.POST.get('surname')
                post.address = request.POST.get('address')
                post.age = request.POST.get('age')
                post.save()


                return HttpResponseRedirect('/viewtable')

        else:

            return render(request, 'mysite/viewtabel.html', {'posts': post_list}
于 2019-10-13T11:34:17.760 回答