def index(request): context = dict() if request.method == 'POST': if 'delete_tweet' in request.POST: _id = request.GET.get('id', None) Tweet.objects.filter(id=_id).delete() messages.success(request, "Tweet successfully deleted") return redirect('index') form = TweetForm(request.POST) if form.is_valid(): new_tweet = Tweet(username=request.user, tweet=request.POST['tweet']) try: new_tweet.full_clean() new_tweet.save() except ValidationError as e: context['error'] = e.message_dict['tweet'][0] else: messages.success(request, "Tweet Created!") return redirect('index') else: form = TweetForm() context['form'] = form context['tweets'] = Tweet.objects.filter( username=request.user).order_by('-post_date') return render(request, 'authenticated_user_feed.html', context)
def home(request): if request.method == "POST": canTweet = True error_tweet_30 = "" (canTweet, error_tweet_30) = userCanTweet(request) if canTweet: f = TweetForm(request.POST) if f.is_valid(): t = Tweet() t.user = request.user t.text = f.cleaned_data["text"] d = datetime.datetime.today() t.published_on = d t.save() request.session["time_of_last_tweet"] = d.strftime("%d %m %Y %H:%M:%S") return HttpResponseRedirect(reverse("twitter:home")) else: tweets = Tweet.objects.order_by("-published_on")[:5] return render(request,'twitter/home.html', {"tweets":tweets, "user": request.user, "f": f}) else: f = TweetForm() tweets = Tweet.objects.order_by("-published_on")[:5] return render(request,'twitter/home.html', {"tweets":tweets, "user": request.user, "f": f, "er30":error_tweet_30}) else: f = TweetForm() tweets = Tweet.objects.order_by("-published_on")[:5] return render(request,'twitter/home.html', {"tweets":tweets, "user": request.user, "f": f})
def add_tweet(request): # Get the context from the request. context = RequestContext(request) # A HTTP POST? if request.method == 'POST': form = TweetForm(request.POST) # Have we been provided with a valid form? if form.is_valid(): # Save the new category to the database. form.save(commit=True) # Now call the index() view. # The user will be shown the homepage. return HttpResponseRedirect('/twitter/') else: # No form passed - ignore and keep going. pass else: # If the request was not a POST, display the form to enter details. form = TweetForm() # Bad form (or form details), no form supplied... # Render the form with error messages (if any). return render_to_response('twitter/add_tweet.html', {'form': form}, context)
def tweet(request): f = TweetForm(request.POST) if f.is_valid(): t = Tweet() t.user = request.user t.text = f.cleaned_data["text"] t.published_on = datetime.datetime.today() t.save() return HttpResponseRedirect(reverse('twitter:home'))
def submit(request): if request.method == 'POST': tweet_form = TweetForm(data=request.POST) next_url = request.POST.get('next_url', '/') if tweet_form.is_valid(): tweet = tweet_form.save(commit=False) tweet.user = request.user tweet.save() return redirect(next_url) return public(request, tweet_form) return redirect('/')
def post_tweet(request): form = TweetForm(request.data) if form.is_valid(): tweet = form.save() mentions = get_all_profiles_mentioned_in_tweet( request.data.get('content')) hashtags = get_all_hashtags_in_tweet(request.data.get('content'), True) tweet.mentions.set(mentions) tweet.hashtags.set(hashtags) return Response(data={}, status=status.HTTP_201_CREATED)
def new_tweet(request, user_name): if request.method == "GET": tweet_form = TweetForm() return render(request, "twitter/new_tweet.html", {"tweet_form": tweet_form}) else: user = User.objects.get_by_natural_key(user_name) tweet_form = TweetForm(data=request.POST) tweet = tweet_form.save(commit=False) tweet.user = user tweet.save() return HttpResponse("success")
def new_tweet(): form = TweetForm() if form.validate_on_submit(): post = Post(content=form.content.data, author=current_user) db.session.add(post) db.session.commit() flash(f'Your tweet has been posted!', 'success') return redirect(url_for('home')) return render_template('create_tweet.html', title='New Tweet', form=form, legend='New Tweet')
def home(): form = TweetForm() if form.validate_on_submit(): post = Post(content=form.content.data, author=current_user) db.session.add(post) db.session.commit() print('got in home') flash(f'Your tweet has been posted!', 'success') return redirect(url_for('home')) page = request.args.get('page', 1, type=int) posts = Post.query.order_by(Post.date_posted.desc()).paginate(page=page, per_page=5) return render_template("home.html", posts=posts, form=form)
def update_tweet(post_id): post = Post.query.get_or_404(post_id) if post.author != current_user: abort(403) form = TweetForm() if form.validate_on_submit(): post.content = form.content.data db.session.commit() flash('Your tweet has been updated!', 'success') return redirect(url_for('tweet', post_id=post.id)) elif request.method == 'GET': form.content.data = post.content return render_template('create_tweet.html', title='Update Tweet', form=form, legend='Update Tweet')
def envoyer_tweet(request): if request.user.is_authenticated(): login= UserProfil.objects.get(pk = request.user.pk) if request == "POST": tweet_form = TweetForm(request.POST) if tweet_form.is_valide(): tweet = Tweet() tweet.message = tweet_form.cleaned_data['message'] tweet.date = datetime.date.today() tweet.user = login tweet.save() return redirect(user_profil) else: tweet_form = TweetForm() tweets = Tweet.objects.all().order_by('date') contexte = {'tweets': tweets, 'tweet_form' : tweet_form} return render(request,'bienvenue.html', contexte)
def home(request): if request.method == "POST": canTweet = True error_tweet_30 = "" if request.session.has_key("time_of_last_tweet"): old_time = datetime.datetime.strptime(request.session["time_of_last_tweet"], "%d %m %Y %H:%M:%S") delta = datetime.datetime.today() - old_time print datetime.datetime.today() print old_time print delta print delta.total_seconds() print delta.seconds if delta.total_seconds() < 30: canTweet = False error_tweet_30 = "You have tweeted " + str(int(delta.total_seconds())) + \ " seconds ago." if canTweet: f = TweetForm(request.POST) if f.is_valid(): t = Tweet() t.user = request.user t.text = f.cleaned_data["text"] d = datetime.datetime.today() t.published_on = d t.save() request.session["time_of_last_tweet"] = d.strftime("%d %m %Y %H:%M:%S") return HttpResponseRedirect(reverse("twitter:home")) else: tweets = Tweet.objects.order_by("-published_on")[:5] return render(request,'twitter/home.html', {"tweets":tweets, "user": request.user, "f": f}) else: f = TweetForm() tweets = Tweet.objects.order_by("-published_on")[:5] return render(request,'twitter/home.html', {"tweets":tweets, "user": request.user, "f": f, "er30":error_tweet_30}) else: f = TweetForm() tweets = Tweet.objects.order_by("-published_on")[:5] return render(request,'twitter/home.html', {"tweets":tweets, "user": request.user, "f": f})
def get(self, request, id): user = id # template_name = "tweet_form.html" nie potrzebujemy template_name ponieważ mamy template odpowiednio nazwany i Django sam go wyszuka. form = TweetForm( ) # normalnie nie wymaga formularza ale tu zmienaimy wiget na textarea, żeby mieć większe okienko do wpisywania treści tweet user_id = User.objects.get(id=user) posts = Tweet.objects.filter(author=user_id) ctx = {'form': form, 'posts': posts} return render(request, 'twitter/tweet_form.html', ctx)
def home(request): if request.method == "POST": f = TweetForm(request.POST) if f.is_valid(): t = Tweet() t.user = request.user t.text = f.cleaned_data["text"] t.published_on = datetime.datetime.today() t.save() else: tweets = Tweet.objects.order_by("-published_on")[:5] return render(request,'twitter/home.html', {"tweets":tweets, "f": f}) else: f = TweetForm() tweets = Tweet.objects.order_by("-published_on")[:5] return render(request,'twitter/home.html', {"tweets":tweets, "f": f})
def home(request): if request.method == "POST": f = TweetForm(request.POST) if f.is_valid(): t = Tweet() t.user = request.user t.text = f.cleaned_data["text"] t.published_on = datetime.datetime.today() t.save() else: tweets = Tweet.objects.order_by("-published_on")[:5] return render(request, 'twitter/home.html', { "tweets": tweets, "f": f }) else: f = TweetForm() tweets = Tweet.objects.order_by("-published_on")[:5] return render(request, 'twitter/home.html', {"tweets": tweets, "f": f})
def reply(request, tweet_id): tweet = Tweet.objects.get(pk=tweet_id) user = request.user original_tweet = post.get_original(tweet) if request.method == 'POST': reply_form = TweetForm(request.POST) if reply_form.is_valid(): new_reply = reply_form.save(commit=False) reply = post.create_tweet(user, new_reply.content, original_tweet=None) replyship = Replyship( tweet=original_tweet, reply=reply, tweet_user=original_tweet.author, reply_user=user, ) replyship.save() notify.notify_reply(reply, original_tweet) stream.create_streams(reply, Stream.REPLY) else: reply_form = TweetForm() return redirect(request.META.get('HTTP_REFERER'))
def home(request): if request.method == "POST": canTweet = True error_tweet_30 = "" if request.session.has_key("time_of_last_tweet"): old_time = datetime.datetime.strptime( request.session["time_of_last_tweet"], "%d %m %Y %H:%M:%S") delta = datetime.datetime.today() - old_time print datetime.datetime.today() print old_time print delta print delta.total_seconds() print delta.seconds if delta.total_seconds() < 30: canTweet = False error_tweet_30 = "You have tweeted " + str(int(delta.total_seconds())) + \ " seconds ago." if canTweet: f = TweetForm(request.POST) if f.is_valid(): t = Tweet() t.user = request.user t.text = f.cleaned_data["text"] d = datetime.datetime.today() t.published_on = d t.save() request.session["time_of_last_tweet"] = d.strftime( "%d %m %Y %H:%M:%S") return HttpResponseRedirect(reverse("twitter:home")) else: tweets = Tweet.objects.order_by("-published_on")[:5] return render(request, 'twitter/home.html', { "tweets": tweets, "user": request.user, "f": f }) else: f = TweetForm() tweets = Tweet.objects.order_by("-published_on")[:5] return render( request, 'twitter/home.html', { "tweets": tweets, "user": request.user, "f": f, "er30": error_tweet_30 }) else: f = TweetForm() tweets = Tweet.objects.order_by("-published_on")[:5] return render(request, 'twitter/home.html', { "tweets": tweets, "user": request.user, "f": f })
def dispatch(self, request, *args, **kwargs): form = TweetForm() if request.method == "POST": form = TweetForm(request.POST) if form.is_valid(): form.instance.author = request.user form.instance.created_date = datetime.now() form.save() return redirect("new_page") return render(request, self.template_name, {"form": form})
def create_account(request): if request.method == 'POST': inscription_form = InscriptionForm(request.POST) if inscription_form.is_valid(): user = UserProfil() user.last_name = inscription_form.cleaned_data["last_name"] user.first_name = inscription_form.cleaned_data["first_name"] user.username = inscription_form.cleaned_data["username"] user.email = inscription_form.cleaned_data["email"] user.set_password(inscription_form.cleaned_data["password"]) user.Avatar = inscription_form.cleaned_data["Avatar"] user.save() tweet_form = TweetForm() contexte = {'user' : user, 'tweet_form' : tweet_form } return render(request, 'bienvenue.html', contexte) else: inscription_form = InscriptionForm() contexte = {'inscription_form' : inscription_form} return render(request, 'create.html', contexte)
def post_tweet(request): login_user = request.user if request.method == 'POST': form = TweetForm(request.POST) if form.is_valid(): tweet = form.save(commit=False) new_tweet = post.create_tweet(login_user, tweet.content, None) notify.notify(login_user, new_tweet, Notification.MENTION) stream.create_streams(new_tweet, Stream.TWEET) return redirect('profile', username=login_user.username) else: form = TweetForm() return render(request, 'twitter/post_tweet.html', { 'form': form, })
def connection(request): if request.method == 'POST': username = request.POST['username'] password = request.POST['password'] user = authenticate(username = username, password = password) if user is not None: if user.is_active: login(request, user) tweet_form = TweetForm() tweets = Tweet.objects.all().order_by('date') contexte = {'user' : user, 'tweet_form' : tweet_form, 'tweets' : tweets} return render(request, 'bienvenue.html', contexte) else: login_form = LoginForm() else: login_form = LoginForm() else: login_form = LoginForm() contexte = {'login_form' : login_form} return render(request, 'login.html', contexte)
def home(request): f = TweetForm() tweets = Tweet.objects.order_by("-published_on")[:5] return render(request, 'twitter/home.html', {"tweets": tweets, "f": f})
def post(self, request, id): form = TweetForm(request.POST) if form.is_valid(): form.instance.author = request.user # wyciagamy autora z requesta, nie może go sam wpisywać bo mógłby się podszyć pod kogoś. form.save() return redirect('twitter/twitter:index')