Questions tagged «django-views»

Django视图是MVC视图;它们控制渲染(通常通过模板)和显示的数据。

12
为什么DEBUG = False设置会使django静态文件访问失败?
我正在使用Django作为我的主力构建应用程序。到目前为止,一切都很好-指定了数据库设置,配置的静态目录,URL,视图等。但是,当我想呈现自己漂亮的自定义404.html和500.html页面时,麻烦开始悄悄出现。 我阅读了有关自定义错误处理的文档,并在UrlsConf中设置了必要的配置,创建了相应的视图,并将404.html和500.html添加到了我的应用程序的模板目录中(也在settings.py中指定)。 但是文档说you can actually view custom error views until Debug is Off,所以我确实将其关闭以测试我的东西,那时东西就变得发疯了! 我不仅无法查看自定义的404.html(实际上,它已加载,而且由于我的错误页面每个都包含图形错误消息(如一些漂亮的图像)),因此错误页面的源也已加载,但没有其他内容加载!甚至没有链接的CSS或Javascript! 通常,一旦设置DEBUG = False,所有视图都会加载,但是任何链接的内容(CSS,Javascript,图像等)都不会加载!发生了什么?关于静态文件和DEBUG设置是否缺少某些内容?

13
如何在基于Django类的视图上使用Permission_required装饰器
我在理解新CBV的工作方式时遇到了一些麻烦。我的问题是,我需要在所有视图中登录,并且在某些视图中需要特定的权限。在基于函数的视图中,我使用@permission_required()和视图中的login_required属性来执行此操作,但是我不知道如何在新视图上执行此操作。django文档中是否有某些部分对此进行了解释?我什么都没找到 我的代码有什么问题? 我尝试使用@method_decorator,但它回答“ / spaces / prueba / _wrapped_view()处的TypeError至少接受1个参数(给定0) ” 这是代码(GPL): from django.utils.decorators import method_decorator from django.contrib.auth.decorators import login_required, permission_required class ViewSpaceIndex(DetailView): """ Show the index page of a space. Get various extra contexts to get the information for that space. The get_object method searches in the user 'spaces' field …

7
Django可选的url参数
我有一个像这样的Django URL: url( r'^project_config/(?P<product>\w+)/(?P<project_id>\w+)/$', 'tool.views.ProjectConfig', name='project_config' ), views.py: def ProjectConfig(request, product, project_id=None, template_name='project.html'): ... # do stuff 问题是我希望project_id参数是可选的。 我希望/project_config/并且/project_config/12345abdce/成为同等有效的URL模式,以便如果 project_id通过,那么我可以使用它。 就目前而言,访问不带project_id参数的URL时会得到404 。

15
类没有对象成员
def index(request): latest_question_list = Question.objects.all().order_by('-pub_date')[:5] template = loader.get_template('polls/index.html') context = {'latest_question_list':latest_question_list} return HttpResponse(template.render(context, request)) 该函数的第一行在出现错误Question.objects.all(): E1101:类“问题”没有对象“成员” 我正在阅读Django文档教程,并且它们具有相同的代码并正在运行。 我尝试调用实例。 Question = new Question() and using MyModel.objects.all() 我的models.py课程代码也是这个... class Question(models.Model): question_text = models.CharField(max_length = 200) pub_date = models.DateTimeField('date published') def was_published_recently(self): return self.pub_date >= timezone.now() - datetime.timedelta(days=1) def __str__(self): return self.question_text 无济于事,我仍然有此错误。 …

7
Django在视图中获取静态文件URL
我正在使用reportlab pdfgen创建PDF。在PDF中,有一个由创建的图像drawImage。为此,我要么需要图像的URL,要么在视图中需要图像的路径。我设法建立了URL,但是如何获取图像的本地路径? 我如何获得网址: prefix = 'https://' if request.is_secure() else 'http://' image_url = prefix + request.get_host() + STATIC_URL + "images/logo_80.png"


7
在django-rest-framework中禁用ViewSet中的方法
ViewSets 具有自动列出,检索,创建,更新,删除,...的方法 我想禁用其中一些,我想出的解决方案可能不是一个好方法,因为OPTIONS仍然指出了允许的范围。 关于如何正确执行此操作的任何想法吗? class SampleViewSet(viewsets.ModelViewSet): queryset = api_models.Sample.objects.all() serializer_class = api_serializers.SampleSerializer def list(self, request): return Response(status=status.HTTP_405_METHOD_NOT_ALLOWED) def create(self, request): return Response(status=status.HTTP_405_METHOD_NOT_ALLOWED)

1
在Django中删除多个对象
我需要使用网页从Django的数据库中选择几个要删除的对象。没有可供选择的类别,因此我不能从所有这些类别中删除。我是否必须实现自己的删除表单并在django中对其进行处理,或者django已经有一种方法可以做到这一点?由于其在管理界面中实现。


7
Django基于类的视图:如何将其他参数传递给as_view方法?
我有一个基于类的自定义视图 # myapp/views.py from django.views.generic import * class MyView(DetailView): template_name = 'detail.html' model = MyModel def get_object(self, queryset=None): return queryset.get(slug=self.slug) 我想像这样传递slug参数(或其他参数到视图) MyView.as_view(slug='hello_world') 我是否需要重写任何方法才能做到这一点?

2
仅更新模型中的特定字段。
我有一个模特 class Survey(models.Model): created_by = models.ForeignKey(User) question = models.CharField(max_length=150) active = models.NullBooleanField() def __unicode__(self): return self.question 现在我只想更新该active字段。所以我这样做: survey = get_object_or_404(Survey, created_by=request.user, pk=question_id) survey.active = True survey.save(["active"]) 现在我得到一个错误IntegrityError: PRIMARY KEY must be unique。 我可以用这种方法更新吗?



3
Django检查是否存在查询
在Django中如何检查查询是否存在任何条目 sc=scorm.objects.filter(Header__id=qp.id) 这就是在php中完成的方式 if(mysql_num_rows($resultn)) { // True condition } else { // False condition }


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.