【发布时间】:2018-09-16 20:28:50
【问题描述】:
总结:我正在尝试建立一个工作网站。在 index.html 上,用户将邮政编码输入到表单中以查看该邮政编码中的工作,此表单由 job_query 视图处理。这会将他们带到另一个页面(search.html),起初您只能看到该特定邮政编码中的工作,但我正在尝试添加一个过滤器,让用户可以看到 X 英里内的工作。如何将 index.html 中输入的邮政编码值传递到下一页?
index.html:
<h2>Find a Job</h2>
<!--Search Bar-->
<form method = "GET" action = "{% url 'search' %}" >
<div id = "form_grid">
<input name="query" type="text" placeholder="Zip Code">
<button type="submit">Search</button>
</div>
</form>
搜索.html:
<form method = "GET" action = "{% url 'search' %}" >
<input class="search_bar" name="query" type="text" placeholder="Zip Code">
<button class="search_btn btn btn-outline-success " type="submit">Find Jobs</button>
</form>
<form id="within_miles_form" method = "GET" action = "{% url 'within_miles' %}" >
<input class="search_bar" name="miles" type="text" placeholder="Within X miles of Zip Code">
<button type="submit">Filter</button>
</form>
<!--code to display jobs-->
views.py:
def job_query(request):
if request.method == "GET":
query = request.GET.get('query')
jobs_matching_query = Job.objects.filter(zip_code__iexact = query) | Job.objects.filter(city__iexact=query) | Job.objects.filter(state__iexact=query)
number_of_results = 0
for job in jobs_matching_query:
number_of_results = number_of_results + 1
return render(request, 'core/search.html', {'query': query ,'jobs_matching_query': jobs_matching_query, 'number_of_results': number_of_results})
def within_miles(request):
miles = request.GET['miles']
#how can i use value of the zip code entered?
urls.py:
url(r'^search$', views.job_query, name="search"),
url(r'within_miles', views.within_miles, name="within_miles"),
我想我包含了所有相关信息,但如果我遗漏了什么,请告诉我,提前感谢您的帮助。
【问题讨论】:
-
您可以在 URL 中对其进行编码。话虽如此,这里的视图包含一些“奇怪”的编码风格。
-
是的,这是我尝试构建的更复杂的项目之一,我觉得我把它弄得太复杂了
标签: django django-forms django-views