我可以完全关闭,但是我对缓存存储在开始添加持久性功能之前的工作方式的理解是,项目将根据他们的ttl过期.如果商店开始填满可用的RAM,他们每个人都会有自己的算法来使商店中最不重要的"钥匙"到期.
现在我读到Redis具有持久性功能.但你可以把它们关掉.假设你关闭了持久性,当RAM填满时会发生什么?Redis如何决定过期的内容?
我希望有很多没有TTL的数据,并希望确保让Redis知道什么过期是安全的.
我正在使用带有Zend_Form的CSRF隐藏哈希元素并尝试单元测试登录但不知道如何编写单元测试以包含该元素.查看文档并阅读尽可能多的教程.我甚至都把它们全都搞熟了,但没有人提到这一点.
我本来要提出与此问题基本相同的问题.但是,由于没有人回答,我会假设嵌套的内联表单是不可能的.
所以我只想问你如何在Django中设计这样的东西:
零售商出售服装.每件毛衣设计都有款号.这种款式有不同的面料和不同的颜色,因此你需要一个样式表和一个产品表来处理毛衣的每个变化.(例如,可能有蓝色棉质毛衣,蓝色尼龙毛衣,绿色棉质毛衣等......)这将包含一个外键进入织物表和颜色表.
但我们需要图片!每个产品变体可以有一个或多个图片.因此,我们将带有外键的图像表添加到产品表中.
如果没有嵌套的内联,我可以想到在CMS中呈现这一点的唯一方法是让客户端首先添加样式,以及内联的下级产品.完成后,打开产品表并允许内联图像上传.(也许删除直接添加产品的权限,以便他们只编辑现有产品.)
但这有点笨拙,你不觉得吗?
想法欢迎.
我不是一个前端的人,只是学习jQuery,所以任何帮助都表示赞赏.什么是最简单,最稳定的jQuery缩放插件?
我有一个常规尺寸的产品图像和详细的图像.我需要能够以某种方式放大.你会推荐哪个?
我在Mac Leopard上.试图获取django管理文件上传,或真正的图像上传工作.在我的应用程序的models.py中,我将字段设置为:
image = models.FileField(upload_to='images', max_length=500)
Run Code Online (Sandbox Code Playgroud)
(从ImageField开始,但是如果文件不起作用,那么图像肯定不起作用)
它说上传发生了.给我一个积极的结果.保存我的数据库的路径.但是,寻找文件,嗯,它不存在.
由于没有错误消息,因此很难调试.尝试了各种权限,但没有任何工作.
有任何想法吗?
说你的URL的路径是:
/thisisa"quote/helloworld/
Run Code Online (Sandbox Code Playgroud)
那么如何创建rel=canonicalURL?
这是犹太人吗?
<link rel="canonical" href="/thisisa&quot;/helloworld/" />
Run Code Online (Sandbox Code Playgroud)
UPDATE
为了澄清,我收到表单提交,我需要将部分查询字符串转换为URL.所以步骤是:
所以我需要知道每一步都要做哪些处理......在第一次切割时,这是我的看法:
htmlspecialchars($rawQuery)htmlspecialchars($rawQery)htmlspecialchars($rawQuery)urlencode($rawquery)因为它来自URL,它不会已经被URL编码了吗?htmlspecialchars($rawQuery)我的问题需要一些设置,所以请耐心等待:
我成为了一个转换,使用View Helpers从模型中获取数据,而不是将其全部洒在控制器上(帽子提示给Eric Clemmons).它在那里更具可重用性和灵活性.我就喜欢!
我通常做的是在index.phtml中布置模板,然后当我需要从模型中获取内容时,将该片段放在detail.phtml中,因此逻辑尽可能远.
但是,我开始看到需要重用的变量.例如,类别名称.现在,您不希望使用视图助手来反复从模型中获取cat名称.虽然你可以缓存它,但显然太麻烦了.
所以我开始在detail.phtml中使用几行php来设置变量.它再也闻不到了.观点不应该有太多的逻辑.
那你说什么呢?如果var被重用,把它放在控制器中?或者不介意在视图中设置几个变量?
编辑:Alan Storm问了一个viewhelpers的例子:
detail.phtml:
<ul id="productList">
<? foreach($this->getProductById($id) as $product) : ?>
<li><?= $this->escape($product['name']) ?></li>
<? endforeach; ?>
</ul>
Run Code Online (Sandbox Code Playgroud)
(支持自己攻击反短标签)
另一个编辑:我看到没有2个正确的答案.那好吧...
让我成为Eclipse用户的一个特性就是每次点击保存时,它的副本都会进入Eclipse本地历史记录.然后你可以在本地历史上做差异.
尽管如此,我还是想使用Textmate,因为我听到了很多关于它的事情.我知道有一个未来版本的功能请求 ...但我想知道是否有人找到了插件,或者其他一些方法让这个功能现在变成了Textmate?我知道这是一个长期但从来没有伤害过要求.
谢谢.
UPDATE! (编辑问题的标题,因为上一个标题没有兴趣) 我刚刚意识到这可能是一个解决方案.是否可以将Textmate保存挂钩到git提交中?
更新
想要使用每个控制器运行一些代码,并被告知使用Action Helpers或插件而不是从基本控制器扩展,我决定使用Action Helper而不是插件,@Bittarman(Ryan Mauger)的优秀幻灯片;
Zend Framework,掌握: http ://www.slideshare.net/rmauger/zend-framework-getting-to-grips参见幻灯片22:(动作助手)抛出的异常前/后调度将停止进一步执行......
虽然它会停止进一步执行,但没有发现异常.我一直试图调试这几个小时,但没有到达任何地方.
如果您运行以下代码,您是否看到异常被捕获或是否从错误控制器中逃脱?
我试图弄清楚Zend Framework是否表现不如预期,或者我是否完全搞砸了(更有可能).
我试图把它分解成最简单的情况来复制,让我知道你看到了什么:
/*添加到此处的现有Bootstrap:APPLICATION_PATH/Bootstrap.php*/
protected function _initActionHelpers()
{
Zend_Controller_Action_HelperBroker::addPath(APPLICATION_PATH .'/controllers/helpers');
//hooks cause action helper to autorun: http://akrabat.com/zend-framework/hooks-in-action-helpers/
$hooks = Zend_Controller_Action_HelperBroker::getStaticHelper('Test');
Zend_Controller_Action_HelperBroker::addHelper($hooks);
}
Run Code Online (Sandbox Code Playgroud)
/*in:APPLICATION_PATH/controllers/helpers/Test.php*/
<?php
class Zend_Controller_Action_Helper_Test extends Zend_Controller_Action_Helper_Abstract
{
public function preDispatch()
{
// you can skip next line if you don't have xdebug
//xdebug_disable();
throw new Exception('test', 404);
parent::preDispatch();
}
}
Run Code Online (Sandbox Code Playgroud)
更新: 好的,我一直在通过xDebug + Eclipse运行这个......(或者是那个或者玩得很开心,不知道我是否选择了更愉快的体验)....我发现了一些奇怪的东西.
preDispatch正在运行两次!在第二次调用时,它将转到Zend_Controller_Plugin/ErrorHandler.php,它运行此代码:
if ($this->_isInsideErrorHandlerLoop) {
$exceptions = $response->getException(); …Run Code Online (Sandbox Code Playgroud) 现在一直使用git,但只有基本功能.
为了切换到Textmate并保留Eclipse所具有的酷炫本地历史功能,我做到了这一点.哪个工作得很好.
但现在我正在与一个私有github存储库的团队合作.我不想用我当地无用的提交历史来污染团队.
我知道有一些工具可以编辑我的提交,但是:
git rebase -i
你问我要不要告诉我你要反对哪个分支,
SNIP
什么分支?:)
所以我想知道你是否有关于如何管理所有这些的提示.我想将一个文件的所有提交合并为一个提交最大值.并编辑消息,使其显示有用的内容.
谢谢!
我昨天第一次安装了Django并且今天认真地试了一下.我只打算将它用于漂亮的管理界面,其余的用于Zend Framework.
我将现有表event导入管理员.没有需要加入.但主键不是"id",它被称为"事件"(遵循此命名约定).我显然不希望此列的id#出现在数据输入表单中.
一切正常,除了添加新事件,我点击保存并继续编辑,它添加事件,但重定向URL到 http://127.0.0.1:8000/admin/events/event/None/ 并吐出这个错误
ValueError at /admin/events/event/None/
invalid literal for int() with base 10: 'None'
Run Code Online (Sandbox Code Playgroud)
这是我的models.py:
from django.db import models
class Event(models.Model):
event = models.IntegerField(primary_key=True)
title = models.CharField(max_length=150)
address_1 = models.CharField(max_length=150)
url = models.URLField(max_length=500,verify_exists=False)
start_date = models.DateField()
end_date = models.DateField()
ACTIVE_CHOICES = (
(0, 'InActive'),
(1, 'Active'),
)
active = models.CharField(max_length=1, default=1, choices=ACTIVE_CHOICES)
def __unicode__(self):
return self.title
class Meta:
db_table = u'event'
Run Code Online (Sandbox Code Playgroud)
我有什么想法或者如何解决这个问题?
django ×3
mysql ×3
git ×2
php ×2
caching ×1
csrf ×1
e-commerce ×1
github ×1
javascript ×1
jquery ×1
performance ×1
phpunit ×1
redis ×1
security ×1
seo ×1
textmate ×1
view-helpers ×1
zend-form ×1
zoom ×1