我正在网上搜索我的问题,但无论如何也找不到明确的答案者.
基本上,我想使用sorl并希望在模型保存时间内调整源图像的大小以将其大小调整为640x480大小,这样我就不会最终在磁盘上存储用户原始的2.5 MB文件.然后我将使用templatetags从我的源代码中创建常规缩略图,如sorl中所述.
我遇到了几个来源引用使用的ThumbnailField模型字段应该在sorl.thumbnail.fields中可用.请点击此处链接.但是,在我从主干中获取最新的sorl副本时,我看不到任何ThumbnailField或ImageWithThumbnailsField.我在模型中导入它的尝试失败了.我看到这些参考文献虽然陈旧但想知道我是否可以用最新的sorl实现相同的目标.
另一方面,sorl文档仅指示来自sorl.thumbnail(参见此处)的ImageField ,它没有任何大小参数来控制源大小调整.
顺便说一下,我看到easy_thumbnail提供了这个功能,它带有一个输入参数source_resize.
任何帮助将不胜感激!
摘要
我接受了下面的答案,但我觉得对这个用例的自然索引支持非常有用 - 即将resize_source参数添加到sorl的ImageField以允许调整源图像的大小.以下是为什么它在该领域有用的两个因素:
如果您的应用程序不需要它,则不要存储用户的巨大原始图像.节省磁盘空间.
如果您没有特定的极高质量原因,请不要花费额外的CPU来重新调整来自巨大源图像的缩略图.为了避免这种情况,可以将模板中的嵌套标签写入较小尺寸图像的缩略图中,但它很快就会变得烦人.
我开始在Django 1.4中使用新的i18n_patterns.基本上,我希望在我的所有模板标题上为每种支持的语言提供语言链接.我已将我的标题实现为一个单独的模板,该模板包含在其他模板中.
有没有办法保持我的标题通用并解决这个问题,而不传递模板上下文中的当前视图名称或当前网址?我想这是一个问题,我如何以通用方式从模板内部检索当前视图或网址.
顺便说一句,我发现我之前用set_lang视图改变活动语言的方法将使用url_patterns打破,因为在更改语言后,它会在重定向到引用视图时将其更改回来.
任何帮助找出在模板中设置语言链接的通用方法,以通用的方式与url_patterns一起使用将不胜感激!
django localization internationalization url-pattern django-1.4
我想我有一个关于更好的代码组织的简单问题.
假设我有多个应用程序也可以实现这些应用程序在表示层上的表示方式.
我试图了解如何组织代码如果我需要在一个页面上呈现多个应用程序而不使用框架当然?
简单的例子:假设我有两个应用程序(app1和app2),这两个应用程序都会显示相应的模型和视图.现在我需要我的索引页面来包含这两个视图的演示.如何实现仍然使用应用程序视图而不是直接访问其模型的通用视图?我更喜欢我的应用程序仍然控制其视图.
谢谢
考虑以下模型字段:
myfield = models.IntegerField(_('My field'), blank=True, default=0)
Run Code Online (Sandbox Code Playgroud)
如果帖子中完全省略了 myfield,则默认 ModelForm 实现会正确使用默认值。但是,如果为该字段发布空字符串,则字段值将保持为 None,并且 postgres 会失败,并在非空字段上出现 IntegrityError:
IntegrityError:列“myfield”中的空值违反了非空约束
问题:如何在 myfield 值不存在或存在但为空字符串的两种情况下强制执行默认值?
让我认为这是一个 django bug 的是 ModelForm 验证成功通过,但无法保存表单。尽管从语义上来说字段声明是正确的,但如果空字符串不是字段的有效值,则表单验证应该失败,否则应确保为字段值分配正确的整数。
实现一个干净的方法来用默认值替换空字符串是可能的,但相当丑陋。寻找更好的方法来做到这一点:
django ×4
django-1.4 ×1
django-apps ×1
django-forms ×1
django-views ×1
localization ×1
thumbnails ×1
url-pattern ×1