我更新了Django 1.7项目到Django 1.8,现在运行testing(是django.test.TestCase子类)时会出错。 Traceback (most recent call last): File "env\lib\site-packages\django\test\testcases.py", line 962, in tearDownClass cls._rollback_atomics(cls.cls_atomics) AttributeError: type object 'SomeTests' has no attribute 'cls_atomics' 如果我通过testing进行debugging,则可以顺利执行所有行,但在最后一行之后会引发exception。 这是一个示例testing: import django import unittest from django.test import TestCase import logging import sys from builtins import classmethod, isinstance class ATestTests(TestCase): @classmethod def setUpClass(cls): django.setup() logging.basicConfig(stream=sys.stderr, level=logging.DEBUG) def setUp(self): self._app = Application(name="a") […]
我传递给Django的模板一个函数,它返回一些logging。 我想调用这个函数并迭代它的结果。 {% for item in my_func(10) %} 这是行不通的。 我试图将函数的返回值设置为一个variables,并迭代variables,但似乎没有办法在Django模板中设置variables。 有没有正常的方法来做到这一点?
在谷歌search“Django面包屑”时提供的一些解决scheme包括使用模板和block.super,基本上只是扩展基本块并添加当前页面。 http://www.martin-geber.com/thought/2007/10/25/breadcrumbs-django-templates/ http://www.djangosnippets.org/snippets/1289/ – 提供了一个模板标签,但我不确定这将工作,如果你没有正确申报你的urls.py。 我想知道什么是最好的方法? 如果你之前已经实施了面包屑,你是怎么做到的? —编辑 – 我的问题是:在Django中有没有普遍接受的做面包屑的方法,但是从我看到的答案是没有的,并且有许多不同的解决scheme,我不确定谁来给予正确的答案,因为我使用了一个使用block.super方法的变体,下面的所有答案都可以工作。 我想这太过于主观的问题了。
我如何检测客户端正在使用哪种浏览器types。 我有一个问题,我不得不要求人们使用不同的浏览器(Firefox),而不是IE浏览器。 我怎样才能得到这个信息。 我知道HTTP请求有这个信息(头)。 我将如何从Django框架中的view.py获取navigator.appName?
我不想摧毁我网站上的所有用户。 但我想利用Django 1.5的定制可插拔用户模型。 这是我的新用户模型: class SiteUser(AbstractUser): site = models.ForeignKey(Site, null=True) 一切都与我的新模型在一个新的安装(我有其他的代码,以及这样做的一个很好的理由 – 所有这些在这里是无关的)。 但是,如果我把这个放到我的live站点和syncdb&migrate中,我会失去所有的用户,或者至less他们会在一个不同的孤立的表中,而不是为我的新模型创build的新表。 我对南方很熟悉,但基于这篇文章和我的一些试验,似乎它的数据迁移目前不适合这种特定的迁移。 所以我正在寻找一些方法,让南方为此工作或为了一些非南方的迁移(原始SQL,dumpdata / loaddata或其他),我可以在我的每个服务器上运行(Postgres 9.2)来迁移用户一旦新的表已经创build,而旧的auth.User表仍然在数据库中。
我是新来的heroku和gunicorn,所以我不知道这是如何工作的。 但我已经做了一些search,我想我已经接近部署我的Django应用程序(1.5.1)。 所以我知道我需要一个Procfile web: gunicorn app.wsgi 因为我的目录有点不同 我不能在根目录下运行gunicorn app_project requirements/ contributors/ app/ app/ settings/ wsgi.py # Normally Procfile goes here Procfile 通常应用程序/将是根目录,但我决定这样构造我的文件夹来分隔我的Django应用程序从其他一些事情。 由于我必须把procfile放在heroku的根目录下才能识别,我应该在procfile中join什么和/或者我应该在gunicorn命令中join什么参数? 注意: web: gunicorn app.wsgi # won't work because Procfile is in a directory above # I also want to keep the directories as is # I also don't want to create a […]
我使用的Django 1.3,我意识到它有一个collectstatic命令收集静态文件到STATIC_ROOT 。 在这里我有一些其他的全局文件需要使用STATICFILES_DIR来提供。 我可以让他们使用相同的目录吗? 谢谢。
在升级到Django 1.7时,我从./manage.py收到以下错误消息 $ ./manage.py Traceback (most recent call last): File "./manage.py", line 16, in <module> execute_from_command_line(sys.argv) File "/home/johnc/.virtualenvs/myproj-django1.7/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 427, in execute_from_command_line utility.execute() File "/home/johnc/.virtualenvs/myproj-django1.7/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 391, in execute django.setup() File "/home/johnc/.virtualenvs/myproj-django1.7/local/lib/python2.7/site-packages/django/__init__.py", line 21, in setup apps.populate(settings.INSTALLED_APPS) File "/home/johnc/.virtualenvs/myproj-django1.7/local/lib/python2.7/site-packages/django/apps/registry.py", line 89, in populate "duplicates: %s" % app_config.label) django.core.exceptions.ImproperlyConfigured: Application labels aren't unique, duplicates: foo 有什么问题,我该如何解决?
我是django的新手! 当我使用命令python manage.py collectstatic我得到这个错误 django.core.exceptions.ImproperlyConfigured: You're using the staticfiles app without having set the STATIC_ROOT setting to a filesystem path 但是我可以成功运行服务器。 我的静态文件声明是: STATIC_ROOT = '' STATIC_URL = '/static/' STATICFILES_DIRS = ( ('assets', os.path.join(PROJECT_DIR, '../static')), ) 并将debug设置为true DEBUG = True 我怎样才能解决这个问题? 否则我缺less任何安装包?
在Django中,我怎样才能在网站的每个页面上返回加载页面 (而不是date)的时间, 而不必在每个views.py中写入类似于下面的代码? start = time.time() #model operations loadingpagetime = time.time() – start 如果使用TEMPLATE_CONTEXT_PROCESSOR是最好的select。 我怎么会从那里得到整个页面加载时间,而不是只是获得模板加载时间? 更新: 由于最初的问题似乎还不够清楚,下面是我想要做什么的Python版本的一个方法。 #!/usr/bin/env python import cgitb; cgitb.enable() import time print 'Content-type: text/html\n\n' start = time.time() print '<html>' print '<head>' print '</head>' print '<body>' print '<div>HEADER</div>' print '<div>' print '<p>Welcome to my Django Webpage!</p>' print '<p>Welcome to my Django Webpage!</p>' print […]