小编Mil*_*o.D的帖子

Django中间件错误 - 中间件改为1.7

每当我用我的django项目运行我的本地服务器时,我收到一条警告和一条错误消息,说在Django 1.7中全局中间件类已经改变 - 即使我使用的是1.8.我的博客,在http://127.0.0.1:8000/,加载正常,但当我尝试加载我得到的管理网站AttributeError at /admin/ 'WSGIRequest' object has no attribute 'user',据我所知,这是与中间件.感谢您的帮助

编辑:我的中间件:

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
Run Code Online (Sandbox Code Playgroud)

错误信息:

Warnings
?: (1_7.W001) Middleware_Classes is not set.
    Hint: Django 1.7 changed the global defaults for the middleware_classes. django.contrib.auth.middleware.AuthenticationMiddleware, django.contrib.sessions.middleware.SessionMiddleware, and django.contrib.messages.middleware.MessageMiddleware, were removed from the defaults. If your project needs this middleware then you should configure this middleware.
Run Code Online (Sandbox Code Playgroud)

python django django-admin

9
推荐指数
2
解决办法
4339
查看次数

Django复选框字段

我正在尝试添加一个复选框,如果勾选将使我的模型中的属性为false.

我的模型是:

 class Topic(models.Model):
        """A topic the user is learning about"""
        text = models.CharField(max_length=200)
        date_added = models.DateTimeField(auto_now_add=True)
        owner = models.ForeignKey(User)
        public = False

My forms.py (where the checkbox should go) is:

class TopicForm(forms.ModelForm):
    class Meta:
        model = Topic
        fields = ['text']
        labels = {'text': ''}
Run Code Online (Sandbox Code Playgroud)

我的功能:

def topics(request):
    """Show all topics."""
    topics = Topic.objects.filter(owner=request.user).order_by('date_added')
    context = {'topics': topics}
    return render(request, 'learning_logs/topics.html', context)
Run Code Online (Sandbox Code Playgroud)

您能否告诉我需要更改的内容,以便在选中表单中的复选框时,公共变量变为True,然后功能主题显示公共主题以及仅显示所有者.

谢谢

米洛

django django-models django-forms django-views

1
推荐指数
1
解决办法
6291
查看次数