[python]排序(Sorting Mini-HOW TO)

本文整理自 HowTo/Sorting - Python Wiki,如有不妥之处,请翻阅英文原文。

Python 内置的 sort() 方法可以实现对列表的原地排序功能。内置的 sorted() 函数则不会修改原列表,而是生成一个经过排序的新列表。

下面总结一些常用的排序方法。

基本排序

最简单的方法就是使用 sorted() 函数,它将返回一个经过排序的新列表:

>>> sorted([5, 2, 3, 1, 4])
[1, 2, 3, 4, 5]

你也可以使用 list.sort() 方法, 但是它会修改原列表,所以一般使用 sorted()。如果你不再需要原始列表的话,用用 list.sort() 也无妨。

>>> a = [5, 2, 3, 1, 4 ...
more ...

更改 phpMyAdmin 默认访问端口(apache2)

将访问 phpMyAdmin 的端口从默认的 80 改为 8081 。

本文的 phpmyadmin 目录:/var/www/phpmyadmin/

编辑 apache 配置文件:

# vi /etc/apache2/sites-available/phpmyadmin

<VirtualHost *:8081>
    ServerName 127.0.0.1
    DocumentRoot /var/www/phpmyadmin
</VirtualHost>

配置 apache 监听 8081 端口:

# vi /etc/apache2/ports.conf

# 添加
NameVirtualHost *:8081
Listen 8081

重启 apache 服务 ...

more ...

[django]添加额外的 form 错误信息

通过两种方法给 Django 表单添加额外的错误信息。

第一种方法,使用 form 自定义校验(更详细的请查看 django 官方文档):

定义 clean 方法:

class RegisterForm(forms.Form):
    # ...

    def clean(self):
        cleaned_data = super(RegisterForm, self).clean()
        email = cleaned_data.get('email', '')
        username = cleaned_data.get('username', '')

        re_username = r'^[a-zA-Z\d][-a-zA-Z\d]*$'

        if User.objects.filter(email=email).exists():
            msg = 'This email address ...
more ...