I write an app in django - sth like twitter, i have already log in/log out panel, and form when already logged in user can add a tweet. A tweet has a 3 columns in database:
class Tweet(models.Model):
content = models.CharField(max_length=140)
creation_date = models.DateTimeField(auto_now_add=True)
user = models.ForeignKey(User, on_delete=models.CASCADE)
The form looks like:
class TweetForm(forms.Form):
content = forms.CharField(label='content')
And the view:
class TweetCreationView(LoginRequiredMixin, View):
permission_required = 'twitter.add_tweet'
raise_exception = True
permission_denied_message = 'You are not allowed being there!'
def get(self, request):
form = TweetForm()
return render(request, "twitter/add_tweet.html", {"form": form})
def post(self, request):
form = TweetForm(request.POST)
if form.is_valid():
if request.user.is_authenticated():
username = request.user.username
user_id = username.id
content = form.cleaned_data.get('content')
return render(request, "twitter/add_tweet.html", {"form": form})
How can i obtain an already logged in user in django and add his/her id to post view form?