def handle(self, *args, **options): num_comments = 500 users = User.objects.filter(admin=False) articles = Article.objects.all() filter_words = Filter_Words.objects.all() content = open("dictionaries/comments").readlines() count = 0 for i in range(0, num_comments): comments = Comment.objects.all() c = Comment() c.user = random.choice(users) c.article = random.choice(articles) c.content = random.choice(content).rstrip() c.pub_date = timezone.now() for word in filter_words: if (re.search(str(word), c.content, re.IGNORECASE)): c.flag = True if (i > num_comments / 2): c.parent = random.choice(comments) c.article = c.parent.article c.save() count = i print(str(count) + " comments added")
def lire(request, id): try: article = Article.objects.get(id=id) except Article.DoesNotExist: raise Http404 try: likes = Like.objects.all().filter(article=article) number_of_likes=len(likes) except: number_of_likes=0 try: like_from_user = Like.objects.all().filter(article=article).filter(auteur=request.user) if len(like_from_user)>0: has_liked=True else: has_liked=False except: has_liked=False form = CommentForm(request.POST or None) # 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_comment=Comment() new_comment.auteur=request.user new_comment.contenu = form.cleaned_data.get('contenu') new_comment.article = article new_comment.save() try: user_data=UserData.objects.all().filter(user=request.user)[0] user_data.number_articles_he_commented=user_data.number_articles_he_commented+1 user_data.save() except: UserData(request.user).save() try: user_data=UserData.objects.all().filter(user=article.auteur)[0] user_data.number_comments=user_data.number_comments+1 user_data.save() except: UserData(article.auteur).save() # Nous pourrions ici envoyer l'e-mail grâce aux données # que nous venons de récupérer envoi = True try: comments=Comment.objects.all().filter(article=article) except: comments=[] try: signature_object=Signature.objects.get(user=article.auteur) signature = signature_object.signature bio=signature_object.bio has_bio=True if len(bio)==0: has_bio=False if len(signature)<=5: signature = article.auteur.first_name+" "+article.auteur.last_name except: signature = article.auteur.first_name+" "+article.auteur.last_name has_bio=False bio='' if len(signature)<=5: signature = article.auteur.username return render(request, 'blog/lire.html', {'article': article, 'form':form, 'comments': comments, 'has_liked':has_liked, 'number_of_likes':number_of_likes,'signature':signature, 'has_bio':has_bio, 'bio':bio})