2015-10-11 4 views
0

Я делаю CRUD, когда я пытаюсь добавить список продаж, это отражается, когда я проверяю результат, но выдаю сообщение об ошибке при добавлении.Django - информация показывается, но все еще дает ошибку

Здесь код ошибки:

TypeError at /manage/add_sell_list/ 

list() takes at most 1 argument (2 given) 

Request Method:  POST 
Request URL: http://localhost:8000/manage/add_sell_list/ 

Здесь models.py раздел:

class Sell_list(models.Model): 
    sell_list_key = models.ForeignKey(User) 
    #sell_list_key= models.ForeignKey(Profile) 
    object_name = models.CharField(max_length= 150) 
    def __str__(self): 
     return self.object_name 

Здесь views.py раздел:

@login_required(login_url='/loginuser') 
def new_sell_list(request): 
    return render(request,'new_sell_list_form.html',{ 
     'action': 'add_sell_list', 
     'button': 'Add', 
     }) 

@login_required(login_url='/loginuser') 
def add_sell_list(request): 
    new_sell_list_name= request.POST["new_sell_list_name"] 
    colectr_user = request.user 
    to_save_list= Sell_list(
     object_name = new_sell_list_name, 
     sell_list_key = colectr_user 
     ) 
    to_save_list.save() 
    return list(request, message= "sell list added!") 

Здесь url.py

url (r'^manage/new_sell_list/$', 'stock.views.new_sell_list', name='new_sell_list'), 
url (r'^manage/add_sell_list/$', 'stock.views.add_sell_list', name='add_sell_list'), 

форма который добавляет регистр к БД:

<form action="/manage/{{ action }}/" method="post"> 
    <input name="new_sell_list_name" value="{{ sell_list_name }}"><br /> 
    <input type="submit" value="{{ button }}"> 
</form> 

Это необходимо только, чтобы вернуться на страницу управления я создал, когда добавить информацию.

+0

Что такое 'list', тогда? –

ответ

0

решена:

return HttpResponseRedirect('/manage') 
+0

Это не дает ответа на вопрос. Чтобы критиковать или запросить разъяснения у автора, оставьте комментарий ниже своего сообщения - вы всегда можете прокомментировать свои собственные сообщения, и как только у вас будет достаточно [репутации] (http://stackoverflow.com/help/whats-reputation), вы будете быть в состоянии [прокомментировать любое сообщение] (http://stackoverflow.com/help/privileges/comment). – Nullify

+0

@ 200OK Это сообщение на складе здесь не подходит: ^) –

+1

Настоящая проблема заключается в том, что это не полезно, так как не говорит о том, в чем проблема, как это решало ее или даже где она идет в источнике. –

0

Когда вы пытаетесь выполнить return list(request,message='sell list added!'), вы пытаетесь преобразовать запрос и сообщение в список, но, list() принимает только 1 аргумент.

Я думаю, что вы допустили ошибку, пытаясь вернуть список, вместо того, чтобы возвращать рендер или перенаправлять страницу успеха или страницу списка.

изменение

УПРАЖНЕНИЯ:

return list(request, message= "sell list added!") 

Для возвращения подобного тому, что вы сделали с методом new_sell_list

return render(request,'successful_list_added.html') 

Или:

return redirect('redirect_url') 
0

вы не можете назвать другой вид, как это :

return list(request, message= "sell list added!") 

вам необходимо вернуть HTTPResponse, в этом случае, HttpResponseRedirect, как это:

return redirect(reverse('list_view_namespace', kwargs={ here kwargs, if any})) 
Смежные вопросы