Questions tagged «django»

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

6
ManyRelatedManager对象是不可迭代的
尝试这样做: 更新: wishList = WishList.objects.get(pk=20) matches = [val for val in Store.attribute_answers.all() if val in wishList.attribute_answers] 并得到这个... 'ManyRelatedManager' object is not iterable 这两个领域都很多,那么该怎么办呢?
94 django 

6
由于Django不活动,如何终止会话?
我们的Django应用程序具有以下会话管理要求。 当用户关闭浏览器时,会话期满。 闲置一段时间后,会话将过期。 检测会话由于不活动而过期的时间,并向用户显示适当的消息。 在闲置时间结束前几分钟警告用户即将到期的会话。除了警告,还为用户提供扩展会话的选项。 如果用户正在应用程序中从事长时间的业务活动,而该活动不涉及将请求发送到服务器,则会话一定不能超时。 阅读文档,Django代码和与此相关的一些博客文章之后,我想出了以下实现方法。 要求1 通过将SESSION_EXPIRE_AT_BROWSER_CLOSE设置为True可以轻松实现此要求。 要求2 我看到了一些建议,可以使用SESSION_COOKIE_AGE来设置会话的有效期限。但是这种方法具有以下问题。 即使用户正在积极使用应用程序,会话也总是在SESSION_COOKIE_AGE结束时到期。(这可以通过使用自定义中间件将每个请求的会话过期设置为SESSION_COOKIE_AGE来防止,或者通过将SESSION_SAVE_EVERY_REQUEST设置为true来保存每个请求的会话。但是由于使用了SESSION_COOKIE_AGE,下一个问题是不可避免的。) 由于cookie的工作方式,SESSION_EXPIRE_AT_BROWSER_CLOSE和SESSION_COOKIE_AGE是互斥的,即cookie在浏览器关闭时或在指定的到期时间到期。如果使用了SESSION_COOKIE_AGE并且用户在cookie过期之前关闭了浏览器,则cookie被保留,重新打开浏览器将允许用户(或其他任何人)进入系统而无需重新认证。 Django仅依靠存在的cookie来确定会话是否处于活动状态。它不检查与会话存储的会话到期日期。 以下方法可用于实现此要求并解决上述问题。 不要设置SESSION_COOKIE_AGE。 对于每个请求,将会话的到期日期设置为“当前时间+闲置时间”。 覆盖SessionMiddleware中的process_request并检查会话到期。如果会话已过期,则将其丢弃。 要求3 当我们检测到会话已过期时(在上面的自定义SessionMiddleware中),请在请求上设置一个属性以指示会话已过期。此属性可用于向用户显示适当的消息。 要求4 使用JavaScript检测用户的不活动状态,提供警告以及扩展会话的选项。如果用户希望扩展,请向服务器发送一个保持活动状态的脉冲以扩展会话。 要求5 使用JavaScript来检测用户活动(在长时间的业务操作过程中),并向服务器发送保持活动状态的脉冲,以防止会话到期。 上面的实现方法似乎非常复杂,我想知道是否可能有一个更简单的方法(尤其是对于要求2)。 任何见解将不胜感激。

2
Django导入错误-没有名为django.conf.urls.defaults的模块
我正在尝试运行使用Django 1.6的statsd / graphite。 访问石墨URL时,出现Django模块错误 django.conf.urls.defaults中的文件“ /opt/graphite/webapp/graphite/urls.py”,第15行,导入* ImportError:没有名为默认值的模块 但是,我没有找到默认的 django包/Library/Python/2.7/site-packages/django/conf/urls/ 请帮助解决此问题。

5
绑定Django Admin的模型历史记录
设置: 我正在开发一个Django应用程序,该应用程序允许用户在数据库中创建一个对象,然后根据需要返回并对其进行编辑。 Django的管理站点保留了通过管理站点对对象所做的更改的历史记录。 问题: 如何将我的应用程序挂接到管理站点的更改历史记录,以便可以看到用户对其“内容”所做的更改历史记录?

4
在django中选择DISTINCT各个列?
我很好奇,是否有任何方法可以在Django中进行查询,而该查询不在SELECT * FROM...下面。我正在尝试执行“ SELECT DISTINCT columnName FROM ...”。 具体来说,我有一个看起来像这样的模型: class ProductOrder(models.Model): Product = models.CharField(max_length=20, promary_key=True) Category = models.CharField(max_length=30) Rank = models.IntegerField() 其中Rank是内的排名Category。我希望能够遍历所有类别,对该类别中的每个等级进行一些操作。 我想先获取系统中所有类别的列表,然后查询该类别中的所有产品,然后重复进行直到处理完每个类别。 我宁愿避免使用原始SQL,但是如果我必须去那里,那很好。尽管我以前从未在Django / Python中编写过原始SQL。


7
使用PIL在图像上添加文本
我有一个加载图像的应用程序,当用户单击它时,会为此图像显示一个文本区域(使用jquery),用户可以在其中写一些文本。应该在图像上添加。 在对其进行了一些研究之后,我发现PIL(Python Imaging Library)可以帮助我做到这一点。因此,我尝试了几个示例以了解其工作原理,并设法在图像上写了文字。但是我认为Python Shell在Web环境中使用和尝试时会有一些区别。我的意思是textarea上的文本以px为单位很大。使用PIL作为文本区域上的文本时,如何获得相同大小的文本? 文本是多行。如何使用使其在图像中成为多行PIL? 有没有比使用PIL更好的方法?我不确定,如果这是最好的实现。 的HTML: <img src="images/test.jpg"/> 其图像正在编辑 var count = 0; $('textarea').autogrow(); $('img').click(function(){ count = count + 1; if (count > 1){ $(this).after('<textarea />'); $('textarea').focus(); } }); jQuery添加文本区域。文本区域也是position:绝对和固定大小。 我应该将其放置在表单中以便在图像上获取文本区域的坐标吗?我想在用户单击时在图像上写文本并将其保存在图像上。

3
如何在Django REST Framework中更改字段名称
我正在尝试像在SQL中的别名一样在DRF序列化器中更改“模型”字段名称。我尝试了不同的方法,但无法成功。 models.py class Park(models.Model): name = models.CharField(max_length=256) alternate_name = models.CharField(max_length=256, blank=True) objects = models.GeoManager() class Meta: db_table = u'p_park' def __unicode__(self): return '%s' % self.name def alias_alternate_name(self): return self.alternate_name serializers.py class ParkSerializer(serializers.ModelSerializer): location = serializers.Field(source='alias_alternate_name') #location = serializers.SerializerMethodField(source='alias_alternate_name') #alternate_name as location class Meta: model = Park fields = ('id', 'name', …

23
Django升级到1.9错误“ AppRegistryNotReady:应用尚未加载。”
从1.8升级到django 1.9时,出现此错误。我检查了类似问题的答案,但我认为这不是任何第三方包装或应用程序的问题。 Traceback (most recent call last): File "manage.py", line 10, in <module> execute_from_command_line(sys.argv) File "/home/kishore/.virtualenvs/andone/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 350, in execute_from_command_line utility.execute() File "/home/kishore/.virtualenvs/andone/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 342, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/kishore/.virtualenvs/andone/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 176, in fetch_command commands = get_commands() File "/home/kishore/.virtualenvs/andone/local/lib/python2.7/site-packages/django/utils/lru_cache.py", line 100, in wrapper result = user_function(*args, **kwds) File "/home/kishore/.virtualenvs/andone/local/lib/python2.7/site-packages/django/core/management/__init__.py", line …
93 python  django 



11
如何简化Django 1.7中的迁移?
南方已经有类似的问题,但是我从Django 1.7开始了我的项目,并且没有使用南方。 在开发过程中,创建了许多迁移,但是尚未发布该软件,并且不存在必须迁移的数据库。因此,我想将迁移重置为好像当前模型是原始模型一样,然后重新创建所有数据库。 建议这样做的方法是什么? 编辑:自Django 1.8起,有一个名为squashmigrations的新命令或多或少解决了此处描述的问题。

5
如何使用django-storages和Amazon S3设置Django项目,但为静态文件和媒体文件设置不同的文件夹?
我正在配置一个Django项目,该项目使用服务器文件系统来存储应用程序的静态文件(STATIC_ROOT)和用户上传的文件(MEDIA_ROOT)。 我现在需要将所有内容托管在Amazon S3上,因此我为此创建了一个存储桶。使用django-storages与boto存储后端,我设法收集静态上传到S3斗: MEDIA_ROOT = '/media/' STATIC_ROOT = '/static/' DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage' AWS_ACCESS_KEY_ID = 'KEY_ID...' AWS_SECRET_ACCESS_KEY = 'ACCESS_KEY...' AWS_STORAGE_BUCKET_NAME = 'bucket-name' STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage' 然后,我遇到一个问题:存储桶中未使用MEDIA_ROOT和STATIC_ROOT,因此存储桶根目录同时包含静态文件和用户上载的路径。 因此,我可以设置: S3_URL = 'http://s3.amazonaws.com/%s' % AWS_STORAGE_BUCKET_NAME STATIC_URL = S3_URL + STATIC_ROOT MEDIA_URL = 'S3_URL + MEDIA_ROOT 并在模板中使用这些设置,但是使用将它们存储在S3中时,静态/媒体文件没有区别django-storages。 如何做到这一点? 谢谢!



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.