Django小工具未加载

时间:2018-04-12 12:35:32

标签: django django-forms django-templates

我使用带有小部件的Django来获取一些用户输入,但即使您的代码看起来与在线示例几乎完全相同,我似乎无法显示它。

forms.py

from django import forms

class PickerIDForm(forms.Form):
    pickeID = forms.NumberInput()

views.py

def get_id(request):
    template = loader.get_template('metrics/lance1.html')

    def get(self, request):
        form = PickerIDForm()
        return render(request, 'self.template', {'form': form})

    context ={
    }
    return HttpResponse(template.render(context,request))

urls.py

from django.urls import path

from . import views
from . import mark_views

app_name = 'metrics'

urlpatterns = [
    path('', views.index, name='index'),

    path('test/', views.get_id, name='get_id'),

]

的test.html

{% extends 'base.html' %}
{% block content %}

<p>User Input</p>

<form method = "post" >

    {% csrf_token %}
    {{form.as_p}}

    <button type="submit"> Submit </button>

</form>


{% endblock %}

我永远不会直接调用views.py中定义的get函数,这对我来说似乎是加载test.html时未显示的输入字段的可能来源

您在什么时候将不同的部分链接在一起?因为我似乎错过了一些东西。

1 个答案:

答案 0 :(得分:3)

您已在窗体中定义窗口小部件而不是字段。

要解决此问题,请将pickeID = forms.NumberInput()替换为pickeID = forms.IntegerField()

并写下你的观点:

def get_id(request):
    form = PickerIDForm()
    return render(request, 'metrics/lance1.html', {'form': form})