Не может работать модальная форма с методом POST в Django - PullRequest
0 голосов
/ 11 октября 2019

Это мой первый проект в Джанго. Я хочу сделать таблицу и добавить элементы с модальной формой. Я использую базу данных Mysql. элементы, которые добавляются вручную из phpmyadmin, уже существуют в таблице, но когда я пытаюсь добавить из модальной формы, он не может быть добавлен. views.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')

url.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'),
}

Ответы [ 2 ]

0 голосов
/ 13 октября 2019

Это решено. Вот вид

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}
0 голосов
/ 13 октября 2019

До этого таблица и модальная форма не работали вместе. Если таблица работала, то модальная форма не добавлялась в базу данных или наоборот. Теперь вы работаете вместе: модальная форма добавляется в базу данных, затем таблица показывает данные на странице. Но когда я обновляю данные страницы, добавляю их в базу данных дважды. views.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')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...