我一筹莫展,我不知道是什么引起了这个问题。我所做的唯一更改是将loginquiredmixins添加到基于类的视图中。
当我开始设计登录页面时,我似乎弄坏了一些东西,但我不知道具体是什么,这是一个奇怪的想法,CSS或某些HTML会导致什么问题,对吗?
我尝试在if
语句之前赋值变量,并将其设置为null
,但这似乎不能正常工作,因为它会抛出错误。我使用的是基本的django认证系统。
我得到的确切错误是-分配前引用的局部变量'cource'
Environment:
Request Method: GET
Request URL: http://127.0.0.1:8000/accounts/login
Django Version: 3.0.7
Python Version: 3.7.3
Installed Applications:
['mainpage.apps.MainpageConfig',
'quiz.apps.QuizConfig',
'courses.apps.CoursesConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']
Traceback (most recent call last):
File "C:\Users\m\AppData\Local\Continuum\anaconda33\lib\site-packages\django\core\handlers\exception.py", line 34, in inner
response = get_response(request)
File "C:\Users\m\AppData\Local\Continuum\anaconda33\lib\site-packages\django\core\handlers\base.py", line 115, in _get_response
response = self.process_exception_by_middleware(e, request)
File "C:\Users\m\AppData\Local\Continuum\anaconda33\lib\site-packages\django\core\handlers\base.py", line 113, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Users\m\AppData\Local\Continuum\anaconda33\lib\site-packages\django\views\generic\base.py", line 71, in view
return self.dispatch(request, *args, **kwargs)
File "C:\Users\m\AppData\Local\Continuum\anaconda33\lib\site-packages\django\contrib\auth\mixins.py", line 52, in dispatch
return super().dispatch(request, *args, **kwargs)
File "C:\Users\m\AppData\Local\Continuum\anaconda33\lib\site-packages\django\views\generic\base.py", line 97, in dispatch
return handler(request, *args, **kwargs)
File "H:\Learning Development Platform\learningplatform\courses\views.py", line 26, in get
lesson_qs = course.lesson.filter(slug=lesson_slug)
Exception Type: AttributeError at /accounts/login
Exception Value: 'NoneType' object has no attribute 'lesson'
“
这是我的models.py文件:
from django.contrib.auth import decorators
from django.db import models
from django.db.models.fields import SlugField
from django.urls import reverse
class Course(models.Model):
slug = models.SlugField()
title = models.CharField(max_length=120)
description = models.TextField()
def __str__(self) -> str:
return self.title
def get_absolute_url(self):
return reverse('courses:detail', kwargs={'slug': self.slug})
@property
def lessons(self):
return self.lesson_set.all().order_by('position') # syntax for foreignkey object
class Lesson(models.Model):
slug = models.SlugField()
title = models.CharField(max_length=120)
course = models.ForeignKey(Course, on_delete=models.SET_NULL, null=True)
position = models.IntegerField()
video_url = models.CharField(max_length=200)
def __str__(self) -> str:
return self.title
def get_absolute_url(self):
return reverse(
'courses:lesson-detail',
kwargs={
'course_slug': self.course.slug,
'lesson_slug': self.slug
}
)
和我的视图。py:
from django.shortcuts import render
from django.views.generic import ListView, DetailView, View
from .models import Course, Lesson
from django.contrib.auth.mixins import LoginRequiredMixin
class CourseListView(ListView):
model = Course
class CourseDetailView(DetailView):
model = Course
class LessonDetailView(LoginRequiredMixin, View):
def get(self, request, course_slug, lesson_slug, *args, **kwargs):
course_qs = Course.objects.filter(slug=course_slug)
if course_qs.exists():
course = course_qs.first()
lesson_qs = course.lesson.filter(slug=lesson_slug)
if lesson_qs.exists():
lesson = lesson_qs.first()
context = {
'object': lesson
}
return render(request, 'courses/lesson_detail.html', context)
我明白了多少...
在“get”方法中的“lessonDetailView”Class=>
更改此
lesson_qs = course.lesson.filter(slug=lesson_slug)
至
lesson_qs = course.objects.filter(slug=lesson_slug)
则此错误将被解决:
异常类型:AttributeError at
异常值:“noneType”对象没有属性“leason”
问题内容: 我正在尝试使用XPATH定位器单击包含文本“ Clean feed crm”的span标签。我得到错误: 完整的错误跟踪: 如果我使用绝对完整的XPATH,则效果很好。相对的XPATH显示错误。 可以使用的完整绝对XPATH是: 相对的XPATH不起作用是: HTML是: 我的方法实现是: 从我的TestCase类,我调用方法: Globals.py是: 我也尝试过使用WebDrive
问题内容: 这个问题已经在这里有了答案 : 从父函数分配给变量:“分配前引用的局部变量” [重复] (5个答案) Python 3:UnboundLocalError:分配前被引用的局部变量[重复] (5个答案) 10个月前关闭。 我收到以下错误: UnboundLocalError:分配前已引用局部变量“ test1”。 错误说那是局部变量,但我认为这个变量是全局变量 那么它是全局的还是局部的,
本文向大家介绍详解PHP变量传值赋值和引用赋值变量销毁,包括了详解PHP变量传值赋值和引用赋值变量销毁的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了PHP变量传值赋值和引用赋值变量销毁的具体代码,供大家参考,具体内容如下 php中,上面的代码,变量是怎么存放的呢? 上面的代码变动下,将变量b赋值给变量a,会发生什么? 问题来了,$a = $b,那么是将变量a的指针指向了变量b指针所
问题内容: 我正在Django中寻找一种简单但推荐的方式,将变量仅存储在内存中。当Apache重新启动或Django开发服务器重新启动时,该变量重置为0。更具体地说,我想计算在每个模型实例(数据库记录)上执行特定操作的次数,但是出于性能原因,我不这样做想要将这些计数存储在数据库中。我不在乎服务器重启后计数是否消失。但是,只要服务器启动,我就希望这些计数在Django Shell和Web界面之间保持
新的打字/暗示/作业方式很酷,但我不知道如何让这么简单的事情起作用: 它抛出一个错误:。到目前为止,我发现的最好但非常丑陋的解决方法是: 请告诉我,具有#1原则的语言有更好的东西来解决这个常见的打字问题
问题内容: 当我使用Django模板渲染器渲染页面时,可以传入包含各种值的字典变量,以使用来在页面中对其进行操作。 有没有办法在Javascript中访问相同的变量(也许使用DOM,我不知道Django如何使变量可访问)?我希望能够基于传入的变量中包含的值使用AJAX查找来查找详细信息。 问题答案: 将直接替换为HTML。查看资料;它不是“变量”或类似的变量。它只是渲染的文本。 话虽如此,你可以将