python - Can't get forms in Django to create a POST request (and save to database) -


i'd point out first django project , don't have other programming experience, error might simple. still, spent few days trying fix no progress. it's first question here, hope i'm doing right.

the following template of form page. form displaying alright. it's not causing page reload when "submit" button clicked , it's not submitting post request.

<form role="form" action="." method="post"> {% csrf_token %} {% bootstrap_form form %} {% buttons submit='add new book' reset="cancel" %}{% endbuttons %} </form> 

models.py:

class book(models.model):     title = models.charfield(max_length=80)     photo = models.imagefield(upload_to='book_images', blank=true)     author = models.charfield(max_length=150)     category = models.charfield(max_length=50)     product_url = models.charfield(max_length=200)     num_of_chapters = models.integerfield() 

forms.py:

class addbookform(forms.modelform):      class meta:          model = book          fields = ('title', 'photo', 'author', 'product_url', 'category', 'num_of_chapters') 

views.py:

def add_new_book(request):     if request.method == 'post':         form = forms.addbookform(data=request.post)         if form.is_valid():             form.save()      form = addbookform()     return render(request, 'main/add_new_book.html', {'form': form}) 

there progress bar @ top of page, shows whenever page loaded. still shows when try submit information new book, pycharm indicates page hasn't been reloaded , no post request has happened. there's no entry in database well.

by way, happens on other forms in project well. seems rookie mistake, couldn't find similar discussion.

thanks!


update

i'm making progress, input, still i'm getting error. when try submit information new book:

[12/may/2015 16:12:54]"get /main/add-new/?csrfmiddlewaretoken=fgaetjh6ntylsnm923ouyxboom9bq0kn&title=spiritual+seduction&author=jerry+stocking&product_url=http%3a%2f%2fwww.amazon.com%2fspiritual-seduction-jerry-stocking%2fdp%2f0962959383&category=spirituality&num_of_chapters=26 http/1.1" 200 24399 [12/may/2015 16:12:54]"get /static/assets/components/forms_elements_bootstrap-select/bootstrap-select.init.js?v=v2.0.0-rc1&sv=v0.0.1.2&1431436374743 http/1.1" 200 185 [12/may/2015 16:12:54]"get /static/assets/components/ui_sliders_jqueryui/jqueryui-sliders.init.js?v=v2.0.0-rc1&sv=v0.0.1.2&1431436374743 http/1.1" 200 5282 [12/may/2015 16:12:54]"get /static/assets/components/core/core.init.js?v=v2.0.0-rc1&1431436374743 http/1.1" 200 7688 ---------------------------------------- exception happened during processing of request ('127.0.0.1', 54178) ---------------------------------------- [12/may/2015 16:12:55]"get /main/add-new/assets/images/logo/app-logo-style-default.png http/1.1" 200 33624 traceback (most recent call last):   file "c:\python27\lib\wsgiref\handlers.py", line 86, in run self.finish_response()   file "c:\python27\lib\wsgiref\handlers.py", line 128, in finish_response     self.write(data)   file "c:\python27\lib\wsgiref\handlers.py", line 217, in write self._write(data)   file "c:\python27\lib\socket.py", line 324, in write self.flush()   file "c:\python27\lib\socket.py", line 303, in flush self._sock.sendall(view[write_offset:write_offset+buffer_size]) error: [errno 10053] established connection aborted software in host machine  [12/may/2015 16:12:55]"get /main/add-new/assets/images/logo/app-logo-style-default.png http/1.1" 500 59 traceback (most recent call last):   file "c:\python27\lib\socketserver.py", line 599, in process_request_thread self.finish_request(request, client_address)   file "c:\python27\lib\socketserver.py", line 334, in finish_request self.requesthandlerclass(request, client_address, self)   file "c:\python27\lib\site-packages\django\core\servers\basehttp.py", line 102, in __init__ super(wsgirequesthandler, self).__init__(*args, **kwargs)   file "c:\python27\lib\socketserver.py", line 657, in __init__ self.finish()   file "c:\python27\lib\socketserver.py", line 716, in finish self.wfile.close()   file "c:\python27\lib\socket.py", line 279, in close self.flush()   file "c:\python27\lib\socket.py", line 303, in flush self._sock.sendall(view[write_offset:write_offset+buffer_size]) error: [errno 10053] established connection aborted software in host machine [12/may/2015 16:12:55]"get /main/add-new/assets/images/people/100/15.jpg http/1.1" 200 33625 traceback (most recent call last):   file "c:\python27\lib\wsgiref\handlers.py", line 86, in run self.finish_response()   file "c:\python27\lib\wsgiref\handlers.py", line 128, in finish_response     self.write(data)   file "c:\python27\lib\wsgiref\handlers.py", line 217, in write     self._write(data)   file "c:\python27\lib\socket.py", line 324, in write [12/may/2015 16:12:55]"get /main/add-new/assets/images/people/100/16.jpg http/1.1" 200 33624     self.flush()   file "c:\python27\lib\socket.py", line 303, in flush self._sock.sendall(view[write_offset:write_offset+buffer_size]) error: [errno 10053] established connection aborted software in host machine [12/may/2015 16:12:55]"get /main/add-new/assets/images/people/100/15.jpg http/1.1" 500 59 traceback (most recent call last):   file "c:\python27\lib\socketserver.py", line 599, in process_request_thread     self.finish_request(request, client_address)   file "c:\python27\lib\socketserver.py", line 334, in finish_request self.requesthandlerclass(request, client_address, self)   file "c:\python27\lib\site-packages\django\core\servers\basehttp.py", line 102, in __init__ super(wsgirequesthandler, self).__init__(*args, **kwargs)   file "c:\python27\lib\socketserver.py", line 657, in __init__ self.finish()   file "c:\python27\lib\socketserver.py", line 716, in finish self.wfile.close()   file "c:\python27\lib\socket.py", line 279, in close self.flush()   file "c:\python27\lib\socket.py", line 303, in flush self._sock.sendall(view[write_offset:write_offset+buffer_size]) error: [errno 10053] established connection aborted software in host machine ---------------------------------------- exception happened during processing of request ('127.0.0.1', 54179) ---------------------------------------- [12/may/2015 16:12:55]"get /main/add-new/assets/images/people/100/17.jpg http/1.1" 200 33625 

i don't know mean "definitely not submitting post request", nor of has pycharm.

there 2 issues view: you're not redirecting after valid post, , you're not redisplaying errors when post invalid. fix:

def add_new_book(request):     if request.method == 'post':         form = forms.addbookform(data=request.post)         if form.is_valid():             form.save()             return redirect('/')  # or wherever want      else:         form = forms.addbookform()      return render(request, 'main/add_new_book.html', {'form': form}) 

Comments

Popular posts from this blog

android - MPAndroidChart - How to add Annotations or images to the chart -

javascript - Add class to another page attribute using URL id - Jquery -

firefox - Where is 'webgl.osmesalib' parameter? -