request.method == 'GET',但在GET QueryDict对象中没有任何项
request.method == 'GET',但在GET QueryDict对象中没有任何项
在互联网上搜索了几个小时后,我来到这里希望有人能指导我正确的方向。
所以我是django的新手,在模板中使用ajax来传递数据给视图时遇到了困难。我有一个从数据库中获取数据的下拉菜单,当用户选择结果类型和模型时,我只是想将这些值传递给视图方法。我之所以这样做是因为视图页面通过生成一个html页面使用perl脚本来填充模板(使用extends),该脚本接受这些变量(result,model)。
view.py
def platform_pass_rate(request): #一些其他的东西 #这是当前总是true的 if request.method == 'GET': #然而,这是一个问题,因为它从不得到任何东西,就像request.GET.items()返回的是空的一样 resultVar = request.GET['resultValue'] # modelVar = request.POST['selectedModelValue'] subprocess.call(["perl", "static/static/perl/passRateByPlatform.pl", resultVar, "Ahmed_00"]) #这调用perl脚本。目前设置为只输入一个默认结果-所以我现在知道GET是有效的 else: subprocess.call(["perl", "static/static/perl/passRateByPlatform.pl", "liftforce", "Ahmed_25"]) #当用户未选择任何内容时,脚本创建默认的html页面 current_url = get_full_path(request) return render_to_response("data_form_platform.html", {'our_url': current_url, 'study_models': study_models,'study_results': study_results})
urls.py
from django.conf.urls import patterns, include, url from django.conf import settings from django.conf.urls.static import static from django.contrib import admin admin.autodiscover() urlpatterns = patterns('AppFalconV1.views', # Examples: url(r'^$', 'home'), url(r'^Pass_Rate_by_Build/$', 'build_pass_rate'), url(r'^Pass_Rate_by_Platform/$', 'platform_pass_rate'), url(r'^Platform_Coverage/$', 'platform_coverage'), url(r'^Regression_Coverage/$', 'regression_coverage'), url(r'^Coverage_All_Builds/$', 'coverage_all_builds'), # url(r'^test/$', 'get_current_url'), url(r'^time/$', 'current_datetime'), #url(r'^time/plus/(\d{1,2})/$', 'hours_ahead'), url(r'^admin/', include(admin.site.urls)), ) if settings.DEBUG: urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
在base.html中修改的脚本
下拉按钮的位置 - data_form_platform.html
{% extends 'platform_pass_rate.html' %} {% block data_form_platform_content %}{% endblock %}