Как сказано в заголовке, я не знаю, почему мой пользователь отключился, когда я создаю новый «Комментарий». И форма должна быть сохранена в базе данных, но вместо этого я получил перенаправление на root (ничего в базе данных OF C:>) halp aled ayuda Taskete
Мое мнение:
from django.shortcuts import render, redirect
from .models import Comment
from . import forms
from django.contrib.auth.decorators import login_required
def comments_create(request):
if request.method == 'POST':
form = forms.CreateComment(request.POST, request.FILES)
if form.is_valid():
form.save()
return redirect('/usercomments/')
else:
form = forms.CreateComment()
return render(request,'usercomments/comments_create.html',{'form':form})
Шаблоны:
{% extends 'base.html' %}
{% block content %}
<div class="create_comment">
<h2>Write a comment</h2>
<form action="site-form" action="{% url 'create' %}" method="post">
{% csrf_token %}
{{form}}
<input type="submit" value="Create">
</form>
</div>
{% endblock %}
Urls.py:
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$',views.comments_list, name="list"),
url(r'^create/$', views.comments_create, name="create"),
url(r'^(?P<slug>[\w-]+)/$',views.comments_detail, name="detail"),
]
Models.py:
from django.db import models
from django.contrib.auth.models import User
from django.conf import settings
class Comment(models.Model):
title = models.CharField(max_length=100)
slug = models.SlugField()
body = models.TextField()
date = models.DateTimeField(auto_now_add=True)