Я создал два приложения, блог приложения для обычного блога и приложение для асинхронного обмена сообщениями, оба с помощью домашней страницы.Форма подтверждена как отправленная и также действительна, но база данных не обновлена.
Первое, что я предположил, было то, что пользователь и контент не связаны, и перепробовал много способов, надеюсь, вы получите некоторую помощь от вас, ребята, спасибо
Вот коды:
домашняя страница:
<form method="POST" id="twit" action={% url 'twit:create' %}>
{% csrf_token %}
{{form|crispy}}
<div class="form-group">
<button type="submit">Post</button>
</div>
</form>
блог / просмотров:
def home_view(request):
form = TwitForm()
post_list = Post.objects.all()
context = {
'form': form,
'post_list':post_list,
}
return render(request, 'blog/blog_list.html', context)
твит / просмотров:
def twit_create(request):
if request.method == 'POST':
form = TwitForm(request.POST or None, instance=request.user)
print('inside post')
if form.is_valid():
print('inside valid')
form.save()
return redirect('blog:home')
else:
print('inside else')
form = TwitForm(instance=request.user)
post_list = Post.objects.all()
context = {
'post_list': post_list,
'form': form,
}
return render(request, 'blog/blog_list.html', context)
from django import forms
from .models import Twit
class TwitForm(forms.ModelForm):
class Meta:
model = Twit
fields = ['message']
твит / модели
from django.db import models
from django.contrib.auth.models import User
class Twit(models.Model):
author = models.ForeignKey(User, on_delete=models.CASCADE)
message = models.TextField(max_length=100)
published = models.DateTimeField(auto_now=True)
class Meta:
verbose_name_plural = 'twits'
ordering = ['-published']
verbose_name = 'twit'
def __str__(self):
return self.message[:10]
твит / формы
from django import forms
from .models import Twit
class TwitForm(forms.ModelForm):
class Meta:
model = Twit
fields = ['message']
терминал:
inside post
inside valid
[07/Feb/2019 21:23:21] "POST /twit/create/ HTTP/1.1" 302 0
[07/Feb/2019 21:23:21] "GET / HTTP/1.1" 200 10548
[07/Feb/2019 21:37:33] "GET / HTTP/1.1" 200 10722