title: when I click submit button multiple times(when it's loading to make a post), the post is made multiple times
body: <p>I'm using django and when I was finishing up my project I realized this was happening...(I should've done testing I guess) I'm not sure how to fix this problem. I googled around,some people using jquery but I don't quite get how that's helping. 
  this is my code in views.py </p>
  
  <pre><code>class PostCreateView(CreateView):
  
       model = Post
       form_class = PostForm
       template_name = 'main/add_post.html'
  
       def form_valid(self, form):
  
              self.object = form.save(commit=False)
              # any manual settings go here
  
              #self.object.category = Category.objects.filter(category__in=categories).all()
  
              self.object.moderator = self.request.user
              self.object.image = extract(self.object.url) 
  
              self.object.save()
              return HttpResponseRedirect(reverse('post', args=[self.object.slug]))
  
       @method_decorator(login_required)
       def dispatch(self, request, *args, **kwargs):
          return super(PostCreateView, self).dispatch(request, *args, **kwargs)       
  </code></pre>
  
  <p>this is my form</p>
  
  <pre><code>class PostForm(forms.ModelForm):
  
  #   category = CategoryChoices()
  
      title = forms.CharField(max_length=128, help_text="plz enter")
  
      url = forms.URLField(max_length=200,
                           help_text="Please enter the URL of the page.", required=False)
      views = forms.IntegerField(widget=forms.HiddenInput(), initial=0)
      class Meta:
          model = Post
          widgets = {
              'category':Select2Widget,
          }
          exclude = ['pub_date', 'moderator', 'rank_score','slug', 'image']
  </code></pre>
  
  <p>this is my html</p>
  
  <pre><code>&lt;div class="row"&gt;
      &lt;div class="col-md-3"
  &lt;form id="post_form" method="post" action="/add_post/" enctype="multipart/form-data"&gt;
      {% csrf_token %}
      {{ form|crispy }}
  &lt;!--{% for tag in person.tags.all %}{{ tag.word }} {% endfor %}--&gt;
  
       &lt;input type="submit" name="submit" value="Create Post"&gt;
      &lt;/form&gt;
      &lt;div&gt;
  &lt;/div&gt;
  </code></pre>
  
  <p>when I click submit button here to make a post, it loads and when it's loading I tried clicking submit button again then when it finished loading up two same posts are made. How do I fix this? Thank you</p>