Tag: django views

Django在视图中获取静态文件的URL

我正在使用reportlab pdfgen创build一个PDF。 在PDF中有一个由drawImage创build的图像。 为此我需要URL的图像或视图中的图像的path。 我设法build立的URL,但我怎么会得到图像的本地path? 我如何获取url: prefix = 'https://' if request.is_secure() else 'http://' image_url = prefix + request.get_host() + STATIC_URL + "images/logo_80.png"

Django可选的url参数

我有这样的Djangourl: 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。

我如何findPython的脚本目录?

考虑下面的Python代码: import os print os.getcwd() 我使用os.getcwd()来获取脚本文件的目录位置 。 当我从命令行运行脚本时,它给了我正确的path,而当我从Django视图中的代码运行的脚本运行它时,它会打印/ 。 如何从Django视图运行的脚本中获取脚本的path? 更新: 总结到目前为止的答案 – os.getcwd()和os.path.abspath()都给当前的工作目录,可能或不可能是脚本所在的目录。 在我的网站主机设置__file__只给出没有path的文件名。 Python中没有任何方法可以(总是)能够接收脚本所在的path吗?

Django – login后,将用户redirect到他的自定义页面 – > mysite.com/username

默认情况下,login后,django将用户redirect到一个帐户/configuration文件页面,或者如果您编辑LOGIN_REDIRECT_URL,您可以将用户发送到您在settings.py中指定的另一个页面。 这很好,但是我希望用户(login后)被redirect到一个自定义页面,该页面的链接看起来像这样: mysite.com/username 。 所以在这种情况下,默认帐户/configuration文件或LOGIN_REDIRECT_URL设置不起作用,因为两者都是静态的。 在我的情况下,地址的username部分为每个用户更改。 任何想法如何我可以这样做,当用户login会去到一个自定义的用户页面,有用户的名字在如下地址: mysite.com/username ? 任何input是真正的赞赏。

如何在django基于类的视图上使用permission_required装饰器

了解新的CBV如何工作,我有点麻烦。 我的问题是,我需要在所有的意见,并在其中一些特定的权限login。 在基于函数的视图中,我使用@permission_required()和视图中的login_required属性来做到这一点,但我不知道如何在新视图上执行此操作。 django文档中有解释这个的一些部分吗? 我没有find任何东西。 我的代码有什么问题? 我尝试使用@method_decorator,但它回复“ /空/ prueba / _wrapped_view()至less需要1个参数(0给出) ” TypeError “ 这里是代码(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 if […]

为什么DEBUG = False设置让我的django静态文件访问失败?

我正在使用Django构build一个应用程序作为我的主力。 到目前为止,所有的都已经很好了 – 指定的数据库设置,configuration的静态目录,url,视图等。但麻烦开始偷偷摸摸的时候,我想呈现自己的美丽和自定义404.html和500.html页面。 我阅读了自定义error handling的文档,并在UrlsConf中设置了必要的configuration,创build了相应的视图,并将404.html和500.html添加到我的应用的模板目录(在settings.py中指定)。 但是,文档说, you can actually view custom error views until Debug is Off ,所以我没有closures它来testing我的东西,这是什么时候东西变狂暴! 我不仅看不到自定义的404.html(实际上,它加载,但是因为我的错误页面都包含一个graphics错误消息 – 一些不错的图像),错误页面的来源加载,但没有其他加载! 甚至没有链接的CSS或Javascript! 一般来说,一旦我设置DEBUG = False ,所有的意见将加载,但任何链接的内容(CSS,Javascript,图像等)不会加载! 发生了什么? 有什么缺less有关Static files和Debug setting ?