Yii开发jedis!
我正在研究一些旧的Yii项目,必须向他们添加一些功能.Yii是非常合乎逻辑的框架,但它有一些我无法理解的东西.也许我还没理解Yii-way.所以我将逐步描述我的问题.对于不耐烦的人 - 最后简要提问.
简介:我想在我的项目中添加人类可读的URL.现在网址如下:www.site.com/article/359
我希望它们看起来像这样:www.site.com/article/how-to-make-pretty-urls
非常重要:旧文章必须在旧版本上可用格式化URL和新的 - 关于新URL.
第1步:首先,我在config/main.php中更新了重写规则:
'<controller:\w+>/<id:\S+>' => '<controller>/view',
Run Code Online (Sandbox Code Playgroud)
我在文章表中添加了新的texturl列.因此,我们将在这里存储人类可读的新文章的部分内容.然后我用texturl更新了一篇文章进行测试.
第2步:在应用显示文章的actionView的ArticleController所以我加入那里preproccessing ID参数验证码
if (is_numeric($id)) {
// User try to get /article/359
$model = $this->loadModel($id); // Article::model()->findByPk($id);
if ($model->text_url !== null) {
// If article with ID=359 have text url -> redirect to /article/text-url
$this->redirect(array('view', 'id' => $model->text_url), true, 301);
}
} else {
// User try to get /article/text-url …Run Code Online (Sandbox Code Playgroud) 我正在基于Django REST Framework的项目上工作。因此,我需要为REST API编写一些测试用例。
我已经写了一些从标准DRF APITransactionTestCase继承的基本类(我们称之为BaseAPITestCase)。
在此类中,我定义了setUp方法,在其中创建了一些属于某些组的测试用户(我使用的是用FactoryBoy编写的UserFactory)。
当我运行测试时,第一个(第一个子类中的第一个测试用例方法)成功创建了具有指定组的用户,而其他用户则没有(指定了同一类中的其他测试用例方法)。
用户组目前不在数据库中。似乎在每次运行新的测试用例时,都会从数据库中删除现有记录。但是,它如何第一次起作用?
我已阅读Django测试文档,但无法弄清楚为什么会发生...有人可以解释吗?
主要问题是我应该怎么做才能使这些测试起作用?
我应该创建一次用户并将其存储在对象变量中吗?
是否应该添加一些参数来保留用户组数据?
还是应该将用户组添加到灯具中?在这种情况下,如何正确创建此灯具?(所有相关模型,例如权限和内容类型)
用于说明的简化源代码:
from rest_framework.test import APITransactionTestCase
class BaseAPITestCase(APITransactionTestCase):
def setUp(self):
self.user = UserFactory(
username='login',
password='pass',
group_names=('admin', )
)
self.client = APIClient()
self.client.force_login(self.user)
def tearDown(self):
self.client.logout()
class CampaignListTest(BaseAPITestCase):
def test_authorized_get(self):
# successfully gets user groups from DB
def test_authorized_post(self):
# couldn't find any groups
Run Code Online (Sandbox Code Playgroud)