2

Djangoフォームデータをテンプレートにレンダリングしていますが、URLにアクセスするたびに次のエラーが表示されます:

_wrapped_view() takes at least 1 argument (0 given)

views.py のメソッド:

 @login_required                              
 def subnet_network_detail(request):
     if request.method == 'POST':
         form = NetworkCreateForm(request.POST)
         if form.is_valid():
             subnet = form.data['Subnet_Address']
             ip = form.data['IP_Address']
             user_hosts = get_hosts(user=request.user)
             hosts_list = host_subnet(user_hosts,subnet,ip)
             import pdb;pdb.set_trace()
     extra_context = {
         'hosts_list': hosts_list
         }
     return direct_to_template(request, 'networks/subnet_network.html',extra_context)

および urls.py:

  url(r'^network/netmask/select/$',
     'subnet_network_detail', name='subnet_network_detail')

このエラーに関する他の質問を読みましたが、わかりませんでした。それを解決する方法は?

4

1 に答える 1

2

direct_to_templateあなたので使用するように設計されていますurls.py

url(r'^network/netmask/select/$', 'direct_to_template', {'template':'networks/subnet_network.html'}, name='subnet_network_detail')

renderビュー内またはビュー内から使用する必要がrender_to_responseあります。

django 1.3以降を使用している場合は、次を使用できます。

from django.shortcuts import render
...
return render('networks/subnet_network.html', extra_context)

または、以前のバージョンを使用している場合:

from django.shortcuts import render_to_response
from django.template import RequestContext
...
return render_to_response('networks/subnet_network.html', extra_context, RequestContext(request))
于 2012-05-31T20:00:12.027 に答える