Questions tagged «django»

Django是使用Python编写的开放源代码服务器端Web应用程序框架。它旨在减少创建复杂的数据驱动的网站和Web应用程序所需的工作量,并特别注重更少的代码,无冗余以及比隐式更显式。

8
如何在Django模板中访问字典元素?
我想打印出每个选择获得的票数。我在模板中有以下代码: {% for choice in choices %} {{choice.choice}} - {{votes[choice.id]}} <br /> {% endfor %} votes只是一个字典,而choices只是一个模型对象。 该消息引发异常: "Could not parse the remainder"

9
django测试应用程序错误-创建测试数据库时出错:创建数据库的权限被拒绝
当我尝试使用命令测试任何应用程序时(当我尝试使用使用此命令的结构来部署myproject时,我注意到了它): python manage.py test appname 我收到此错误: Creating test database for alias 'default'... Got an error creating the test database: permission denied to create database Type 'yes' if you would like to try deleting the test database 'test_finance', or 'no' to cancel syncdb命令似乎起作用。我在settings.py中的数据库设置: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', # …

15
如何使用Django的ORM提取随机记录?
我有一个模型,代表我在网站上展示的绘画。在主要网页上,我想展示其中的一些:最新的,大多数时间未访问的网页,最受欢迎的网页和随机的网页。 我正在使用Django 1.0.2。 尽管使用django模型可以轻松提取其中的前3个,但最后一个(随机)会给我带来一些麻烦。在我看来,我可以将代码进行如下编码: number_of_records = models.Painting.objects.count() random_index = int(random.random()*number_of_records)+1 random_paint = models.Painting.get(pk = random_index) 在我看来,这看起来并不像我想要的东西-这完全是数据库抽象的一部分,应该包含在模型中。另外,在这里,我需要处理已删除的记录(然后所有记录的数量将无法覆盖所有可能的键值)以及可能还有很多其他事情。 我还有其他方法可以做,最好是在模型抽象内进行?

9
如何从外部访问本地Django Web服务器
我按照此处的说明使用内置的网络服务器运行Django,并能够使用成功运行它python manage.py runserver。如果我从Web服务器本地访问127.0.0.1:port,则将显示Django页面,表明它可以工作。 我意识到Django网络服务器不是生产服务器,但对我而言,测试至关重要的是,它可以从外部环境进行访问-即,不是从服务器上的Web浏览器而是从其他计算机上进行访问。 我试过了: http://mywebserver:port_django_runs_on 但它没有用。我还尝试使用IP(基于ifconfig)访问: http://myipaddress:port_django_runs_on 这也不起作用。 Web服务器正在运行,因此必须从外部可以访问它,但我不确定如何。我没有在Apache上配置Django,但我在Apache上运行Linux。 有关如何执行此操作的任何想法?
181 python  django 

18
Django CSRF检查失败,并带有Ajax POST请求
我可以通过我的AJAX帖子向遵循Django CSRF保护机制的人员提供帮助。我按照这里的指示进行: http://docs.djangoproject.com/en/dev/ref/contrib/csrf/ 我已经完全复制了该页面上的AJAX示例代码: http://docs.djangoproject.com/en/dev/ref/contrib/csrf/#ajax 我getCookie('csrftoken')在xhr.setRequestHeader呼叫之前打印了警报内容,并确实在其中填充了一些数据。我不确定如何验证令牌是否正确,但是我鼓励它正在查找并发送一些消息。 但是Django仍然拒绝我的AJAX帖子。 这是我的JavaScript: $.post("/memorize/", data, function (result) { if (result != "failure") { get_random_card(); } else { alert("Failed to save card data."); } }); 这是我在Django中看到的错误: [23 / Feb / 2011 22:08:29]“ POST / memorize / HTTP / 1.1” 403 2332 我确定我缺少某些东西,也许很简单,但是我不知道它是什么。我在SO周围搜索,并看到了一些有关通过csrf_exempt装饰器关闭CSRF检查以获取我的视图的信息,但是我发现这没有吸引力。我已经尝试过了,并且可以工作,但是我宁愿让POST按照Django期望的方式工作。 以防万一,这是我的观点正在做的要点: def myview(request): profile …
180 python  ajax  django  csrf 

1
仅在Django启动一次时执行代码?
我正在编写一个Django中间件类,该类只想在启动时执行一次,以初始化一些其他人工代码。我遵循了sdolan 在此处发布的非常好的解决方案,但是“ Hello”消息两次输出到终端。例如 from django.core.exceptions import MiddlewareNotUsed from django.conf import settings class StartupMiddleware(object): def __init__(self): print "Hello world" raise MiddlewareNotUsed('Startup complete') 在我的Django设置文件中,该类已包含在MIDDLEWARE_CLASSES列表中。 但是当我使用runserver运行Django并请求页面时,我进入了终端 Django version 1.3, using settings 'config.server' Development server is running at http://127.0.0.1:8000/ Quit the server with CONTROL-C. Hello world [22/Jul/2011 15:54:36] "GET / HTTP/1.1" 200 698 Hello …
176 python  django 

6
如何在Django网站上记录服务器错误
因此,在进行开发时,我可以设置settings.DEBUG为True,如果发生错误,我可以看到格式正确,具有良好的堆栈跟踪和请求信息。 但是在某种生产站点上,我更愿意使用DEBUG=False并向访问者展示一些标准错误500页,其中包含我目前正在修复此bug的信息;) 同时,我想以某种方式记录所有这些信息(堆栈跟踪和请求信息)存储到服务器上的文件中-因此我可以将其输出到控制台并观看错误滚动,每小时将日志发送给我或类似的东西。 您会为django站点推荐什么样的日志记录解决方案,这些解决方案可以满足那些简单的要求?我有作为fcgi服务器运行的应用程序,并且我使用apache Web服务器作为前端(尽管考虑使用lighttpd)。

1
Django:登录后重定向到上一页
我正在尝试建立一个简单的网站,其登录功能与SO上的登录功能非常相似。该用户应该能够以匿名用户身份浏览该网站,并且每个页面上都会有一个登录链接。当单击登录链接时,用户将被带到登录表单。成功登录后,应将用户带回到他首先单击登录链接的页面。我猜想我必须以某种方式将当前页面的url传递给处理登录表单的视图,但是我真的无法使其正常工作。 编辑:我想通了。我通过将当前页面作为GET参数传递来链接到登录表单,然后使用“下一个”重定向到该页面。谢谢! 编辑2:我的解释似乎不清楚,所以这里要求的是我的代码:假设我们在页面foo.html上,并且尚未登录。现在,我们希望在foo.html上有一个链接,该链接登录。我们可以在那里登录,然后将其重定向回foo.html。foo.html上的链接如下所示: <a href='/login/?next={{ request.path }}'>Login</a> 现在,我编写了一个自定义登录视图,看起来像这样: def login_view(request): redirect_to = request.REQUEST.get('next', '') if request.method=='POST': #create login form... if valid login credentials have been entered: return HttpResponseRedirect(redirect_to) #... return render_to_response('login.html', locals()) 还有login.html中的重要一行: <form method="post" action="./?next={{ redirect_to }}"> 是的,就这样,希望可以弄清楚。
175 python  django 

1
如何在Django queryset中执行小于或等于过滤器?
我试图通过每个称为“个人资料”的用户个人资料中的自定义字段来过滤用户。此字段称为级别,是0到3之间的整数。 如果我使用等于进行过滤,则会得到具有预期级别的用户列表: user_list = User.objects.filter(userprofile__level = 0) 当我尝试使用少于以下内容进行过滤时: user_list = User.objects.filter(userprofile__level < 3) 我得到了错误: 未定义全局名称“ userprofile__level” 有没有一种方法可以通过<或>进行过滤,或者我是否吠叫了错误的树。


7
django MultiValueDictKeyError错误,我该如何处理
我正在尝试将对象保存到数据库中,但是它引发了MultiValueDictKeyError错误。 问题出在表格内,is_private用一个复选框表示。如果未选中该复选框,则显然不会传递任何内容。这是消除错误的地方。 我如何正确处理并捕获此异常? 该行是 is_private = request.POST['is_private']
174 python  django  exception 

6
Django:为什么某些模型字段会相互冲突?
我想创建一个包含2个指向用户的链接的对象。例如: class GameClaim(models.Model): target = models.ForeignKey(User) claimer = models.ForeignKey(User) isAccepted = models.BooleanField() 但是运行服务器时出现以下错误: 字段“目标”的访问器与相关字段“ User.gameclaim_set”冲突。在'target'的定义中添加related_name参数。 字段“ claimer”的访问器与相关字段“ User.gameclaim_set”冲突。在“ claimer”的定义中添加一个related_name参数。 您能否解释为什么我会收到错误以及如何解决这些错误?

14
如何在Django中过滤DateTimeField的日期?
我试图过滤DateTimeField与日期比较。我的意思是: MyObject.objects.filter(datetime_attr=datetime.date(2009,8,22)) 我得到一个空的查询集列表作为答案,因为(我认为)我不在考虑时间,但我希望“任何时间”。 Django中有一种简单的方法吗? 我在datetime中设置了时间,但不是00:00。

6
Django项目工作目录结构的最佳实践
我知道实际上没有唯一正确的方法。但是,我发现很难创建一个可以正常工作并且对于每个开发人员和管理员而言都保持整洁的目录结构。github上的大多数项目都有一些标准结构。但是它没有显示在PC上组织另一个文件和所有项目的方法。 在开发机器上组织所有这些目录的最便捷方法是什么?您如何命名它们,以及如何连接并将其部署到服务器? 项目(您正在处理的所有项目) 源文件(应用程序本身) 存储库的工作副本(我使用git) 虚拟环境(我更喜欢将其放置在项目附近) 静态根(用于编译的静态文件) 媒体根(用于上传的媒体文件) 自述文件 执照 单据 草图 示例(使用该项目提供的应用程序的示例项目) 数据库(如果使用sqlite) 成功完成项目通常需要的其他任何东西 我要解决的问题: 目录的好名称,以便其目的明确。 将所有项目文件(包括virtualenv)放在一个位置,这样我就可以轻松地复制,移动,归档,删除整个项目或估计磁盘空间使用情况。 创建某些选定文件集的多个副本,例如整个应用程序,存储库或virtualenv,同时保留我不想克隆的其他文件的单个副本。 只需通过同步选定的一个目录,即可将正确的文件集部署到服务器。


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.