def new(request): # Construire le formulaire, soit avec les données postées, # soit vide si l'utilisateur accède pour la première fois # à la page. if request.method=="POST": form = ArticleForm(request.POST, request.FILES) # Nous vérifions que les données envoyées sont valides # Cette méthode renvoie False s'il n'y a pas de données # dans le formulaire ou qu'il contient des erreurs. if form.is_valid(): # Ici nous pouvons traiter les données du formulaire new_article=Article() new_article.auteur=request.user new_article.titre = form.cleaned_data.get('titre') new_article.contenu = form.cleaned_data.get('contenu') new_article.sous_titre = form.cleaned_data.get('sous_titre') new_article.categorie = form.cleaned_data.get('categorie') new_article.photo = form.cleaned_data['photo'] new_article.save() new_article.url = get_url(new_article) new_article.time_to_read=int(float(len(new_article.contenu.split(' '))/200))+1 new_article.save() try: user_data=UserData.objects.all().filter(user=request.user)[0] user_data.number_articles=user_data.number_articles+1 user_data.save() except: UserData(request.user).save() # Nous pourrions ici envoyer l'e-mail grâce aux données # que nous venons de récupérer envoi = True process_ranking_all() else: form = ArticleForm(None) # Quoiqu'il arrive, on affiche la page du formulaire. return render(request, 'blog/new.html', locals())