Django使用请求传递变量

时间:2012-06-07 14:16:01

标签: django-views

我试图从html文件中传递变量并尝试在我的视图中访问它。但是我得到了这个错误..-- signup_vol_position正好需要2个参数(给定1个)

views.py

def signup_vol_position(request,comments):
        pdb.set_trace()
        if request.method == 'POST':
                print('if')
        else:
                print('else')
        teamrel = VolunteerRequirement.objects.values_list('teamrelation',flat=T
        vollist = VolunteerRequirement.objects.order_by('teamrelation')
        variable = RequestContext(request, {'vollist': vollist,'teamrel':teamrel
        return render_to_response('signups/volunteer_list.dmpl',variable)
        #variable = RequestContext(request,{'comments':comments}
        #return render_to_response('sfp.view',variable)

html文件

<table>

{% for v in vollist %}
{% ifchanged  v.teamrelation %}
<tr>
<th colspan=7 align="left"><h3><a name="{{ v.teamrelation }}"> {{v.teamrelation}} </a> </h3></th>
</tr>
{% endifchanged %}


<tr>
        <th colspan=4 align="left"><label for="id_Volposition">Volunteer Position:</label></th>
        <th colspan=.5 align="left"><a href="/signups/volposition/{{ v.position }}" class="username" <u>{{ v.volposition }}</u></a></th>
<tr> <td colspan="2" height="2" style="display:none">&nbsp;</td> </tr>
</tr>

urls.py

urlpatterns = patterns('',
   (r'^new/$',                           sfp.view),
   (r'^volunteer/$',     volunteer_page),
   (r'^vollist/$', volunteer_list),
   (r'^volcont/$', volunteer_contact),
   (r'^volposition/$',signup_vol_position)
)

1 个答案:

答案 0 :(得分:0)

根据您的定义,函数signup_vol_position除了请求对象之外还需要一个参数。但是,在urls.py中,您没有考虑到该参数。本来应该是

(r'^volposition/(.+)$',signup_vol_position)

看看是否有效。