小编Sil*_*ght的帖子

Django:项目名称的作用

我正在考虑说明一个新的Django项目,我现在必须选择一个项目名称,所以我可以输入:

djangoadmin startproject <something>
Run Code Online (Sandbox Code Playgroud)

这引起了怀疑,我不确定这个名字,我认为我可能希望将来改变它.所以,我有两个问题:

  • 项目名称在项目代码和部署中扮演什么角色?
  • 我需要采取哪些步骤来更改项目的名称?

谢谢!

django

9
推荐指数
1
解决办法
1261
查看次数

不使用SMTP服务器在Django中发送电子邮件.像php mail()函数一样

据我所知,Django仅支持使用SMTP发送邮件.

我想从Django的脚本发送电子邮件,但不想设置SMTP服务器(这对我来说太复杂了,我是一个linux新手).

有没有可能,像我在PHP中一样发送Django中的邮件,而不提供SMTP登录,密码等?

python email django

8
推荐指数
1
解决办法
6491
查看次数

是每次调用javascript str.length还是只调用一次?

哪种方式更有效?有区别吗?

这个:

var str = 'abc';

if(str.length == 20) {
    //...
}

if(str.length == 25) {
    //...
}

// and so on
Run Code Online (Sandbox Code Playgroud)

或者这一个:

var str = 'abc';
var length = str.length;

if(length == 20) {
    //...
}

if(length == 25) {
    //...
}

// and so on
Run Code Online (Sandbox Code Playgroud)

javascript

8
推荐指数
1
解决办法
448
查看次数

当有人试图在我的网站上猜测管理员指导时,我该如何反应?

我已经在apache error.log中获取这些消息已有一段时间了:

[client 217.197.152.228] File does not exist: /var/www/phpmyadmin
[client 217.197.152.228] File does not exist: /var/www/pma
[client 217.197.152.228] File does not exist: /var/www/admin
[client 217.197.152.228] File does not exist: /var/www/dbadmin
[client 217.197.152.228] File does not exist: /var/www/myadmin
[client 217.197.152.228] File does not exist: /var/www/PHPMYADMIN
[client 217.197.152.228] File does not exist: /var/www/phpMyAdmin
Run Code Online (Sandbox Code Playgroud)

还有更多不同的地址.看起来有人试图猜测我的管理应用程序所在的位置.在这种情况下我应该担心什么,如果一切都受密码保护,我的管理员地址的知识可以给攻击者什么?

apache admin

7
推荐指数
2
解决办法
2896
查看次数

MySQL查询优化:IN()vs OR

我一直在阅读,MySQL使用IN()语句的查询有问题 - 有时索引不能使用.是真的如此,如果我不使用子查询?

哪种方法更好?有性能差异吗?

1

SELECT *
FORM `somewhere`
WHERE 
  `id` = 3
   OR `id` = 5
   OR `id` = 15
   OR `id` = 56
   OR `id` = 34
   OR `id` = 47
Run Code Online (Sandbox Code Playgroud)

2

SELECT *
FORM `somewhere`
WHERE 
  `id` IN (3,5,15,56,34,47)
Run Code Online (Sandbox Code Playgroud)

mysql query-optimization

7
推荐指数
1
解决办法
2809
查看次数

PHP脚本保护

几天前我遇到了一个可怕的问题.我正在我的ubuntu服务器上安装更新,这是一个大约10个网站的主机.在更新期间,出现了问题,并且apach mod_php被禁用.结果,PHP支持消失了,几分钟(直到我发现什么是错的)用户得到了下载PHP脚本的邀请,而不是看到一个网站.毋庸置疑,将脚本源暴露给整个世界并没有什么比这更糟的了,尤其是当数据库凭据保存在内部时.

问题:我如何配置apache,以便将来不可能出现这种情况?我应该在apache2.conf中添加哪些行,以便在禁用mod_php的情况下无法下载PHP文件?

php apache security

7
推荐指数
2
解决办法
466
查看次数

处理数据库完整性

我正在使用innodb约束在我的应用程序的下一个版本中引入数据库完整性.一切顺利,但我的一些表有记录与删除的引用(死记录),因为他们我不能添加约束到表.

我在尝试:

ALTER TABLE `article` ADD FOREIGN KEY (`author_id`) REFERENCES `authors` (`id`) ON DELETE CASCADE;
Run Code Online (Sandbox Code Playgroud)

我得到:

#1452 - Cannot add or update a child row: a foreign key constraint fails (`books`.&lt;result 2 when explaining filename '#sql-442_dc'&gt;, CONSTRAINT `#sql-442_dc_ibfk_1` FOREIGN KEY (`author_id`) REFERENCES `authors` (`id`) ON DELETE CASCADE)
Run Code Online (Sandbox Code Playgroud)

运行此查询,我发现超过500条记录没有引用(作者被删除,但他们的文章仍然存在):

SELECT `articles`.`id`
FROM `articles` LEFT JOIN `authors` ON `articles`.`author_id` = `authors`.`id`
WHERE ISNULL(`authors`.`id`);
Run Code Online (Sandbox Code Playgroud)

所以,在我添加约束之前,我必须处理这些约束.如何删除使用上述查询获得的所有记录?

我试过了:

DELETE FROM `articles` WHERE `id` IN (
  SELECT `articles`.`id`
  FROM `articles` LEFT JOIN `authors` ON `articles`.`author_id` …
Run Code Online (Sandbox Code Playgroud)

mysql innodb foreign-keys mysql-error-1093 mysql-error-1452

7
推荐指数
1
解决办法
2936
查看次数

处理innoDB死锁

我Deadlock found when trying to get lock; try restarting transaction在InnoDB表上遇到错误.这是查询:

UPDATE views 
SET visit_cnt = visit_cnt + 1 
WHERE visit_day = DATE(NOW()) 
AND article_id = '4838'
Run Code Online (Sandbox Code Playgroud)

此查询还通过ON UPDATE触发器触发此操作:

UPDATE articles 
SET views = views + 1 
WHERE id = NEW.article.id
Run Code Online (Sandbox Code Playgroud)

这是我试图修复它的方式:

$attempts_left = 5;
do
{
    mysql_query ($query);

    // if we found a deadlock, we will try this query 4 more times   
    if (mysql_errno () == 1213) { // 1213 - deadlock error
        $deadlocked = true;
        $attempts_left --; …
Run Code Online (Sandbox Code Playgroud)

php mysql deadlock innodb

7
推荐指数
1
解决办法
5219
查看次数

如何使浮动DIV列表出现在列中,而不是行中

我手上有一个HTML布局拼图.我有一个由我的PHP应用程序生成的大型字母列表,我需要在网页上输出它.生成的标记如下所示:

<div class="list_item">A</div>
<div class="list_item">B</div>
<div class="list_item">C</div>
<div class="list_item">D</div>
<div class="list_item">E</div>
<div class="list_item">F</div>
<div class="list_item">G</div>
<div class="list_item">H</div>
...
Run Code Online (Sandbox Code Playgroud)

样式表如下所示:

.list_item {
    margin: 5px;
    padding: 5px;
    border: 1px solid gray;

    width: 200px;
    float: left;
}
Run Code Online (Sandbox Code Playgroud)

渲染结果:

渲染结果

正如你所看到的,这不是很易读,我希望DIV可以输出两列,所以第一列包含"ABC D",第二列包含"EFG H".

有没有办法在不更改标记的情况下执行此操作?为偶数和奇数div添加不同的类是可能的,但由于div是在循环中输出的,因此不能以不同的方式对它们进行拆分.

观看演示:http://jsfiddle.net/KZcCM/

注意:我已经通过PHP将列表拆分为两部分来解决它,但我想知道,如果这里有HTML/CSS解决方案.

html css layout

7
推荐指数
2
解决办法
2万
查看次数

Django,表单字段的唯一ID

我有一个简单的Django表单:

class CommentForm(forms.Form):
    comment = forms.CharField(max_length=2000, required=True)
    post_id = forms.CharField(max_length=2000, widget=forms.HiddenInput, required=True)
    parent_id = forms.CharField(max_length=2000, widget=forms.HiddenInput, required=True)
Run Code Online (Sandbox Code Playgroud)

现在我想在我的页面上多次打印这个表单 - 我是通过模板标签来完成的,所以每次都会创建新表单.问题是,我得到了所有字段的相同ID.

我知道前缀,但我不想更改字段名称,因为所有表单都有一个处理程序,只能设置唯一ID.

所以我的问题:

  • 有没有办法让Django设置唯一ID,如果我想多次输出一个表单,而不更改字段的名称?
  • 如果没有,有没有办法让Django根本不输出ID?

django django-forms

7
推荐指数
1
解决办法
8273
查看次数