Объект 'render' не имеет атрибута 'GET' - PullRequest
0 голосов
/ 12 июня 2019

Я работаю над веб-приложением для универа, использующего django и postgresql.Это мой первый раз, когда я работаю с формами django, и при попытке рендеринга любой из них для запуска теста и выяснения представлений не удается выполнить рендеринг с сообщением об ошибке выше.

Я работал с Django заранее, но этоя впервые работаю с формами - раньше я создавал объекты и редактировал их с помощью представлений API.Я не могу найти, где мой код неправильный, но я попытался переписать его, переместить строки вокруг, чтобы увидеть, помогает ли это (не имеет), и даже избежать наследования и попытаться сформулировать его как простую форму (hasn 'Это тоже помогло.) У меня есть четыре разные формы, но все они выдают одно и то же сообщение об ошибке, так что я просто покажу одно расширение модели пользователя, в котором я не слишком уверен, например, на случай, если больше неправильного, чем я »я понял.

Это код, который я получил

    class JdTform(UserCreationForm):
        telefono = forms.IntegerField()

        class Meta(UserCreationForm.Meta):
            fields = [
                'telefono'
            ]
            labels = {
                'telefono': 'teléfono'
            }
            widgets = {
                'telefono': forms.NumberInput()
            }
    def jdt_form_view(request):
        if request.method == 'GET':
            form = JdTform()
            return render(request, 'personas/formu_jdt.html', {'form': form})
        if request.method == 'POST':
            form = JdTform(request.POST)
            if form.is_valid():
                user = form.save()
                fono = form.cleaned_data.get('telefono')
                jdt = jefeDeTaller(telefono=fono, u=user)
                jdt.save()
                return redirect('cal_fecha')
    <html lang="en">
        <head>
            <meta charset="utf-8">
            <title>Gestor de Trabajo</title>
        </head>
    <body>
        <header>
            <h1>My Site</h1>
        </header>
        <main>
            <h2>Sign up</h2>
            <form action="/your-name/" method="post">
                {% csrf_token %}
                {{ form }}
                <input type="submit" value="Submit">
            </form>
        </main>
    </body>
    </html>
    urlpatterns = [
        path('calendario/<int:ano>/<int:mes>/', views.calendario_mes, name='cal_fecha'),
        path('usuarios/jefedetaller/', views.jdt_form_view, name='formulario_jdt'),

Сообщение об ошибке, которое я получаю на странице отладки: AttributeError at /usuarios/jefedetaller/ 'render' object has no attribute 'get'

with traceback



Request Method: GET
Request URL: http://127.0.0.1:8000/usuarios/jefedetaller/

Django Version: 2.2.1
Python Version: 3.5.1
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'gestor']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware']



Traceback:

File "C:\Users\Flavio\Envs\3dmente\lib\site-packages\django\core\handlers\exception.py" in inner
  34.             response = get_response(request)

File "C:\Users\Flavio\Envs\3dmente\lib\site-packages\django\utils\deprecation.py" in __call__
  96.             response = self.process_response(request, response)

File "C:\Users\Flavio\Envs\3dmente\lib\site-packages\django\middleware\clickjacking.py" in process_response
  26.         if response.get('X-Frame-Options') is not None:

Exception Type: AttributeError at /usuarios/jefedetaller/
Exception Value: 'render' object has no attribute 'get'

В этой конкретной модели идея состоит в том, чтобы создать пользовательский объект, напрямую связать его с объектом jdt и передать информацию о фоно с помощью этого экземпляра.

Большое спасибо заранее, если вы можете помочь!

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