使用Django webframework for MySQL从请求对象获取数据

2024-10-02 08:26:44 发布

您现在位置:Python中文网/ 问答频道 /正文

各位专家您好, 我是django新手,正在学习如何为MySQL数据库构建django web框架,我可以发布我的查询(搜索词)并获得所需的结果。但我正在尝试修改我的项目,以便用户可以在提交页面中提交查询,并在执行查询时在URL中查看查询参数。 像这样: 提交页面:http://localhost:8000/ 执行后的页面将如下所示:http://localhost:8000/xtrack/?searchid=XXXX

但是,在花了几天时间之后,我还是想不出该怎么做。在

在表单.py在

from django import forms
from models import Query

class SQLForm(forms.ModelForm):
    xtrackid=forms.CharField(max_length=100)
    def checkxID(self):
        xtrackid=self.cleaned_data.get("xtrackid")
        return xtrackid

class QueryForm(forms.ModelForm):
    class Meta:
        model=Query
        fields=["xtrackid"]

在视图.py在

^{pr2}$

在网址.py在

from django.conf.urls import include, url
from django.contrib import admin
from myapp import views

urlpatterns = [
        url(r'^admin/', include(admin.site.urls)),
        url(r'^xtrack/$', views.search_form),
        url(r'^resultform/$', views.search),
        url(r'^errorform/$', views.search)

]

我的模板如下: 索引.html在

<html>
<h1> Welcome to xTrack </h1>
<head>
    <title>Search</title>
</head>
<body>
    <form action="/xtrack/" method="get">
        <input type="text" name="xtrackid">
        <input type="submit" value="Search">
    </form>
</body>
</html>

在结果窗体.html在

结果

{% if contextresultinfo %}
    <table border="1" style="width:100%">
        <tr>
            <td>xtide tracker ID<br> </td>
            <td>Accession number<br></td>
        </tr>
        {% for key, values in contextresultinfo.items %}
        <tr>
           {% for items in values %}
           <tr>
              <td>{{key}}</td>
              {% for data in items %}
                    <td>{{data}}</td>
              {% endfor %}
           </tr>
           {% endfor %}
        </tr>
        {% endfor %}
    </table>
{% else %}
    <p>No xtrack matched your search criteria.</p>
{% endif %}
</body>

你能告诉我在哪里我需要改变我的项目代码。 谢谢


Tags: djangofrompyimporturlsearchhtmlforms
1条回答
网友
1楼 · 发布于 2024-10-02 08:26:44

在您看来,您通过以下方式获取提交数据:

form = QueryForm(request.POST or None)

但在html文件中,您将表单方法定义为:

^{pr2}$

因此request.POST将无法获取任何数据。在

相关问题 更多 >

    热门问题