Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django1.9中发生了完整性错误_Python_Django - Fatal编程技术网

Python django1.9中发生了完整性错误

Python django1.9中发生了完整性错误,python,django,Python,Django,我是django 1.9的新手,我正在尝试制作一个应用程序,但是我遇到了这个错误,我不知道如何修复它。这是我的错误和代码。 错误: 在models.py中: from django.db import models from django.conf import settings from django.contrib.auth.models import User class Blog(models.Model): user = models.ForeignKey(settings.A

我是django 1.9的新手,我正在尝试制作一个应用程序,但是我遇到了这个错误,我不知道如何修复它。这是我的错误和代码。 错误:

在models.py中:

from django.db import models
from django.conf import settings
from django.contrib.auth.models import User
class Blog(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL)
    title = models.CharField(max_length=50)
    content = models.CharField(max_length=99999)
    date = models.DateTimeField(auto_now_add=True)
    def __unicode__(self):
        return self.title
在views.py中:

def post(request):
    form = BlogText()

    if request.method == 'POST':
        form = BlogText(request.POST.copy())
        if form.is_valid():
            data = form.cleaned_data
            title = data['title']
            content = data['content']
            if not Blog.objects.all().filter(title=title):
                blog = Blog.objects.create(title=title,content=content,date=timezone.now())
                return render(request,'blogapp/postok.html')
            else:
                return HttpResponse('The title is used')
    else:
        form = BlogText()
    return render(request,'blogapp/post.html',{'form':form})
是否需要在
视图.py中添加此项

if request.user.is_authenticated():

有人请帮帮我。我认为我在这方面做得很差。

您会遇到此错误,因为
用户id
不能为空:

非空约束失败:blogapp\u blog.user\u id

您还需要添加
用户

blog = Blog.objects.create(title=title, content=content,
                           date=timezone.now(), user=request.user)
还请确保只有
登录的
用户才能使用decorator访问此视图:

@login_required
def post(request):
    # your stuff here

如果用户当前未登录,则该用户将被设置为AnonymousUser.的实例。。是的,装饰器可以工作,但是用户可以看到彼此的文章。事实上,这不是我想要实现的。
@login_required
def post(request):
    # your stuff here