如何以用户输入作为参数

时间:2017-07-25 19:28:12

标签: python html django web

我有一个.py文件,比如'car.py'。它需要3个输入(颜色,品牌,年份)。它接受用户输入并读取文件,然后返回输入中给出的颜色,品牌和年份的所有匹配实例。这个脚本运行正常。

现在,我想创建一个像搜索页面一样工作的网页。它要求输入3个,搜索文件(本地)并返回结果。

我第一次使用Django,我很难搞清楚如何调用car.py文件并让它在返回结果之前在后台运行。

我有一个html界面,但我知道我不能在其中引用python脚本。 Django有类似的东西吗?在哪里我可以引用一个脚本,当按下一个按钮时,它会根据用户输入运行该脚本吗?

我不希望有完整的编码响应,我只想澄清或引用答案。我无法在网上找到类似的东西。

1 个答案:

答案 0 :(得分:1)

我将回答如何在Django中提交表单而不是评论,因为它现在更像是一个答案。

当您提交表单时,通常会将POST请求发送到其中包含表单值的网站。因此,当我说表单将提交到路由时,我的意思是POST请求将被发送到Django网站中的特定视图,该视图基本上可以是您的car.py文件,只有一些更改。这是表单的an example,它会接收您的三个所需输入,以及an example一个基本上可以是您的" car.py&#的视图a template 34;和enter image description here

您的观点的一个粗略示例:

def search_view(request):
    if request.method == 'POST':
        form = SearchForm(request.POST)

        if form.is_valid():
            # process the data with your code from "car.py"
            # render your results page
            return render(request, 'results.html')
    # if a GET (or anything else) just render the same search page again
    else:
        form = SearchForm()
    return render(request, 'search.html', {'form': form})

SearchForm()可以是您想要的任何值。