Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django正在努力制作表格_Python_Django_Database_Url_Redirect - Fatal编程技术网

Python Django正在努力制作表格

Python Django正在努力制作表格,python,django,database,url,redirect,Python,Django,Database,Url,Redirect,我有一个很长的问题:我确实尝试过搜索,但我似乎错过了我观看的教程的一部分:我想创建一个简单的网站,允许用户输入序列号,然后它将用户重定向到一个页面,其中包含一个问题和一系列答案(可能是按钮)在几个问题之后,网站将给出一个页面,将输入的结果和输入的序列号与预先确定的(通过管理员输入的)值进行比较,并相应地显示一个页面。我似乎不能取得任何进展,除了采取的序列号和显示的数字,如果在数据库上。。。谢谢你的阅读,希望你能帮助我 views.py: class ScanView(TemplateVi

我有一个很长的问题:我确实尝试过搜索,但我似乎错过了我观看的教程的一部分:我想创建一个简单的网站,允许用户输入序列号,然后它将用户重定向到一个页面,其中包含一个问题和一系列答案(可能是按钮)在几个问题之后,网站将给出一个页面,将输入的结果和输入的序列号与预先确定的(通过管理员输入的)值进行比较,并相应地显示一个页面。我似乎不能取得任何进展,除了采取的序列号和显示的数字,如果在数据库上。。。谢谢你的阅读,希望你能帮助我

views.py:

    class ScanView(TemplateView):
    form_class = SerialFrom
    template_name = 'websites/scan.html'


class SearchResultsView(ListView):
    model = SerialNumber
    template_name = 'websites/result.html'
    query = ""

    def get_queryset(self):  # new
        self.query = self.request.GET.get('q')
        object_list = SerialNumber.objects.filter(
            Q(number__iexact=self.query)
        )
        return object_list


class Question1(TemplateView):
    from_class = SerialNumber
    template_name = 'websites/questions.html'


class ResultView(TemplateView):
    model = SerialNumber
    template_name = 'websites/questions.html'

    def get_queryset(self):
        query = SearchResultsView.query
        object_list = SerialNumber.objects.filter(
            Q(Answer1__iexact=query)
        )
        return object_list
models.py:

class IntegerRangeField(models.IntegerField):

    def __init__(self, verbose_name=None, name=None, min_value=None, max_value=None, **kwargs):
        self.min_value, self.max_value = min_value, max_value
        models.IntegerField.__init__(self, verbose_name, name, **kwargs)

    def formfield(self, **kwargs):
        defaults = {'min_value': self.min_value, 'max_value':self.max_value}
        defaults.update(kwargs)
        return super(IntegerRangeField, self).formfield(**defaults)


class SerialNumber(models.Model):
    number = models.CharField(max_length=50,blank=False)
    Answer1 = IntegerRangeField(default=0,min_value=0,max_value=3)

    def __str__(self):
        return str(self.number)
forms.py:

class SerialFrom(forms.ModelForm):
    number = forms.CharField()

    class Meta:
        model = SerialNumber
        fields = ['number']
result.html:

    {% extends 'websites/base.html' %}
{% block albums_active %}active{% endblock %}

{% block body %}
<body>
  {% for result in object_list %}
      <h1>shoe.png</h1>
        <p> {{result.number}}</p>
      {% csrf_token %}
      <a class="navbar-brand" href="{% url 'q1' %}">from internet</a>
      <a class="navbar-brand" href="{% url 'q1' %}">from shop</a>

    {% empty %}
    <p>nothing to show</p>
  {% endfor %}
</body>

{% endblock %}
{%extends'网站/base.html%}
{%block相册\u active%}active{%endblock%}
{%block body%}
{对象_列表%中的结果为%0}
shoe.png
{{result.number}

{%csrf_令牌%} {%empty%} 没什么可展示的

{%endfor%} {%endblock%}
questions.py,应使用用户输入的对象,但不能:

{% for city in object_list %}
      <p>{{ city }}</p>
      <h1>shoe.png</h1>
        <p> {{city.number}}</p>
      {% csrf_token %}
      <a class="navbar-brand" href="{% url 'q1' %}">internet</a>
      <a class="navbar-brand" href="{% url 'q1' %}">shop</a>

    {% empty %}
    <p>fail</p>
  {% endfor %}
</body>
{%用于对象列表%中的城市]
{{城市}

shoe.png {{city.number}

{%csrf_令牌%} {%empty%} 失败

{%endfor%}
用户输入序列号并进行数据库查询后,需要将用户重定向到所需页面。你的问题范围太广了一点。除非您分享您的代码并向我们展示您正试图实现的目标,否则很难用具体步骤来回答。是的,我做到了,现在我再次阅读,我意识到问题确实很广泛,我道歉。问题是:当用户将输入放在“scan.html”中时,它会将他们重定向到“question1.html”,这可以访问用户的输入,但当他们回答第一个问题时,它会将他们重定向到“result.html”,我提到的比较应该发生在这里,但我似乎无法访问用户输入{result in object_list%}{result.number}-我在quesiton页面中使用的代码在结果页面中似乎没有显示任何内容…我已经有一段时间没有在django中进行编码了,因此我无法确定这里可能存在的问题,除非我能看到确切的代码。我希望有人能帮助你。祝你好运!我没有看到html中呈现的任何表单标记。你应该有表单标签,它们应该有一个“POST”方法。然后我相信你应该有
而不是链接,它们应该带有表单标签。给输入一个
name
属性,我相信您可以从视图中访问该属性。然后在视图中,需要在视图类中执行表单验证,然后将表单数据保存到数据库中。我很少使用基于类的视图,所以我不能确切地帮助您,对不起。我希望有人能回答你的问题。祝你好运@谢谢你!我知道python,但我对html一窍不通,所以我想应该是这样的!感谢我自己在基于类的视图中搜索错误!