Как вы можете разрешить пользователям публиковать что-либо на сайте, используя Django framework?
Мой файл views.py:
from django.shortcuts import render, redirect
from django.contrib.auth.decorators import login_required
from django.utils import timezone
from . import models
from django.contrib.auth.models import User
@login_required
def create(request):
if request.method == 'POST':
if request.POST['title'] and request.POST['url']:
post = models.Post()
post.title
post.url
post.pub_date
post.author
post.save()
return redirect('create')
else:
return render(request, 'posts/create.html')
my models.py:
from django.db import models
from django.contrib.auth.models import User
from django.conf import settings
# Create your models here.
class Post(models.Model):
title = models.CharField(max_length=200)
url = models.TextField()
pub_date = models.DateTimeField()
author = models.ForeignKey(User, on_delete=models.CASCADE,default=1)
votes_total = models.IntegerField(default=1)
и мое создание. html файл:
<h1> Create Post</h1>
{% if error%}
{{ error }}
{% endif%}
<br />
<br />
<br />
<form method='POST' action="{% url 'create' %}">
{% csrf_token %}
Title:
<input type="text" name="title">
<br />
<br />
URL:
<br />
<input type="text" name="url">
<br>
<br>
<input type="submit" value="Post">
</form>
Проблема в том, что сообщение даже не отображается в панели администратора, и я также получаю эту ошибку
NameError at /posts/create/
name 'post' is not defined
спасибо