TypeError: контекст должен быть диктом, а не установленным - PullRequest
0 голосов
/ 04 апреля 2020

Я пытаюсь объединить эти два взгляда. Это то, что у меня есть. MenuView должен комбинироваться с add_to_menu, так что если оператор if возвращает отрицательное значение, часть просмотра меню все еще выполняется и отображает меню на моей странице html. Если оператор if положительный, он все равно показывает меню, но также добавляет введенную информацию в базу данных. Я могу заставить одного или другого работать одновременно.

Редактировать: ОК. Я понял, что это просто тупое пробел, который я использовал, но у меня все еще есть проблемы с объединением двух представлений.

Views.py:

class MenuView(ListView):
    model = Product
    template_name = 'mis446/edit-menu.html'
    context_object_name = 'show_menu'


def add_to_menu(request):

   if request.method == 'POST':
       if request.POST.get('name') and request.POST.get('price') and request.POST.get('nickname'):
        post=Product()
        post.name= request.POST.get('name')
        post.price= request.POST.get('price')
        post.slug= request.POST.get('nickname')
        post.save()
        model = Product
        context_object_name = {'show_menu'}
        return render(request, 'mis446/edit-menu.html', context_object_name)  

   else:
        model = Product
        context_object_name = {'show_menu'}
        return render(request,'mis446/edit-menu.html')

1 Ответ

0 голосов
/ 04 апреля 2020

Может быть, вы должны проверить пробелы в отступе. Я имею в виду, что должно быть пробел, а не 4 пробела, и кажется, что в вашем втором операторе if вместо пробела есть один пробел. Считайте, что так поступаете

class MenuView(ListView):
    model = Product
    template_name = 'mis446/edit-menu.html'
    context_object_name = 'show_menu'


def add_to_menu(request):

   if request.method == 'POST':
       if request.POST.get('name') and request.POST.get('price') and request.POST.get('nickname'):
           post=Product()
           post.name= request.POST.get('name')
           post.price= request.POST.get('price')
           post.slug= request.POST.get('nickname')
           post.save()
           model = Product
           context_object_name = {'show_menu'}
           return render(request, 'mis446/edit-menu.html', context_object_name)  

   else:
        model = Product
        context_object_name = {'show_menu'}
        return render(request,'mis446/edit-menu.html')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...