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 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 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 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 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 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 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 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(): 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 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 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 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')
def home(request): f = TweetForm() tweets = Tweet.objects.order_by("-published_on")[:5] return render(request, 'twitter/home.html', {"tweets": tweets, "f": f})