как заполнить данные базы данных моделей в выпадающем списке в Django - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь заполнить существующие данные в базе данных в раскрывающемся списке, где я хочу просто сделать так, чтобы данные отображались в раскрывающемся списке.

при запуске системы отображается следующая ошибка:

Влияет, что NotNotExist в / testmodel3 совпадающего запроса не существует.Метод запроса: URL-адрес запроса POST: http://127.0.0.1:8000/ Версия Django: 2.1.7 Тип исключения: DoesNotExist Значение исключения: соответствующий запрос testmodel3 не существует.

говорит, что ошибка в строке14

tmn3 = testmodel3.objects.get(name = tmn) 
  1. я создаю класс в models.py
  2. отображаем страницу в url.py
  3. создаем форму
  4. создаемtemplate
  5. создайте функцию в views.py.

models.py

class testmodel3(models.Model):
    name = models.CharField(max_length=100)

    def __str__(self):
        return str(self.name)

url.py

from django.contrib import admin
from django.urls import path
from.views import *

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', home),

]

форм.py

from django import forms
from .models import *

class drodownForm(forms.ModelForm):

    class Meta:
        model = testmodel
        fields = ('name',)

home.html

    <!DOCTYPE html>
    <html>
    <head>
        <title></title>
    </head>
    <body>

    <form method="POST">{% csrf_token %}
        <table>
            <tr><td>mouhafazat name:</td>
                <td>
                    <select name = "dropdwn1">
                        {% for testmodel in testmodel3name %}
                            <option value="{{ testmodel3.name }}">{{ testmodel3.name }}</option>
                        {% endfor %}
                    </select>
                </td>
                <td><input type="submit" value="click" /></td>
            </tr>
        </table>


</form>

</body>
</html>

views.py

from django.shortcuts import render
from django.http import HttpResponse
from testapp.models import *
from testapp.forms import drodownForm


def home(request):
    testmodel3name = testmodel3.objects.all()
    print(testmodel3name)
    tmn = request.POST.get('dropdwn1')
    if request.method =='GET':
        form = drodownForm()
    else:
        tmn3 = testmodel3.objects.get(name = tmn)
        print("test for dropdown")

    return render(request,'./home.html',{'form': form, 'testmodel3name': testmodel3name})

Я ожидаю просмотреть сохраненные данные в раскрывающемся списке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...