Archive for web

django提供的forms可以很方便的实现创建表单,表单内容的过滤,提交。但是表单模板返回的固定代码。 开始学习的翻译文档,forms自定义表单模板的成分很少,特别是errors的介绍。查资料没找到。又看官网,找到了(还是官网好哇~)。 复制代码上来,做分享。 <div> <label for="id_username">用户名:</label> <div> {{ form.username }} {% if form.username.errors %} <span> {% for error in form.username.errors %} {{ error|escape }} {% endfor %} </span> {% else %} <p>用户名中只能包含字母、数字、下划线和汉字。<p> {% endif %} </div> </div>

Continue

&nbsp; 记录几个常用的过滤器: {{my_text|escape|linebreaks }} escape 按照以下的规则,转义一个HTML字符串: <ul> <li id="cn237"><tt>"&amp;"</tt> to <tt>"&amp;amp;"</tt></li> </ul> <ul> <li id="cn238"><tt>&lt;</tt> to <tt>"&amp;lt;"</tt></li> </ul> <ul> <li id="cn239"><tt>&gt;</tt> to <tt>"&amp;gt;"</tt></li> </ul> <ul> <li id="cn240"><tt>'"'</tt> (double quote) to <tt>'&amp;quot;'</tt></li> </ul> <tt>"'"</tt> (single quote) to <tt>'&amp;#39;'</tt> linebreaks 把换行符转换成&lt;p&gt;和&lt;br /&gt;标签。

Continue

用django写了一个站内用户之间发送消息的应用,应用虽小但五脏俱全。写完后总结了一下: 1、建立messages应用。 2、models设计:设置了7个字段,标题,内容,时间,发消息送人,接受人消息,发送消息是否删除,接受消息是否删除。 3、admin.py简单设置了一下,加入群发的功能。 4、forms实现:接收消息的人的验证,标题的验证,数据的保存。 5、url.py设置:6个,发送的消息,接收的消息,发送消息,查看消息,删除消息,回复消息。 6、views.py实现:每个URL对应一个def,这里在官网看到一个用法,翻译的2.0文档没看到(没仔细看), from django.contrib.auth.decorators import login_required @login_required(login_url='/users/login/')#在每个def上面加上这么一句就OK了,login_url指定了跳转到你设置的登录URL。我的登录URL让我改了。 用户注册用户名需要过滤。记录

Continue

在上一篇中<a title="django contrib.admin使用记录一" href="http://0x55aa.sinaapp.com/web-2/275.html" target="_blank">django contrib.admin使用记录一</a> 中ArticlesAdmin,类添加 <pre lang="python">#用于显示admin管理界面的change中显示的属性。 list_display = ('title','user','ip','datetime') #可以在change页面中直接点击title和user进行编辑 list_display_links = ('title','user') #用那个属性对所有对象进行筛选,可在右边显示 list_filter = ('user',) #按哪个属性搜索 search_fields = ('title',)</pre> 更多属性参考django官网‘The Django admin site’。 在models.py文件建立Articles类的内部类: #内部类,用于

Continue

安装管理应用程序。在你的 INSTALLED_APPS 的设置中加入 "django.contrib.admin" 。 如果你是一直照步骤做下来的,请确认 "django.contrib.sessions" , "django.contrib.auth" , 和 "django.contrib.contenttypes" 前面的注释已去掉,因为管理程序需要它们。请同时去掉所有 MIDDLEWARE_CLASSES 设置行中的注释,并清除 TEMPLATE_CONTEXT_PROCESSOR 设置,以便它可以重新使用缺省值。 运行 python manage.py syncdb 。这一步将生成管理界面使用的额外数据库表。 修改url.py文件,修改三个地方。 &nbsp; 在应用目录下,新建文件admin.py,写django代码: <pre lang="python"> #-*- coding:utf-8 -*- from django.contrib import admin from plant.articles.models impo

Continue

&nbsp; 使用步骤: 1、在settings文件中的INSTALLED_APPS中加入'django.contrib,comments',。 2、执行命令,manage.py syncdb,创建数据表。 3、urls.py中 (r'^comments/',include('django.contrib.comments.urls')),。 4、编辑templates文档。 &nbsp; <pre lang="html4strict" > {% load comments %} {% get_comment_list for articles.Articles a.id as comment_list %} {% for comment in comment_list %} <div> <p>评论人:<b>{{comment.user.username}}{{comment.user.email}}</b>|评论时间:{{comment.submit_date|date:"Y-m-d H:i"}} |ip地址:{{comment.

Continue

这两个的安装都是直接命令安装, apt-get install libapache2-mod-wsgi 查看mod_wsgi是否安装成功,找文件/usr/lib/apache2/modules/mod_wsgi.so 编辑/etc/apache2/httpd.conf,加入: #  LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so   WSGIScriptAlias / "/data/web/test/mysite/apache/django.wsgi"     &lt;Directory "/data/web/mysite"&gt;   Order Deny,Allow   Allow from all   &lt;/Directory&gt; #那句不用写,加入以后会提示“已经载入mod_wsgi” [warn] module wsgi_module is already loaded, skipping 以后还要再配置一次,现在做个测试。主要参照官网。

Continue

<h2>CSRF verification failed. Request aborted.</h2> Help Reason given for failure: CSRF token missing or incorrect. 解决方案: 在Settings里的MIDDLEWARE_CLASSES增加配置: 'django.middleware.csrf.CsrfViewMiddleware', 'django.middleware.csrf.CsrfResponseMiddleware',

Continue

在我们的js中,最大的一般还是js库,毕竟具体的功能实现只需要写一点点代码而已。但是js库里那么多用到的没用到的东西,还是有点份量的。我们 又想用,又嫌它大。怎么办呢?拆成很多个吧,多一个js还多一个并发连接呢…… 幸好,google挺够意思,号称“永久提供”常见js库,google的服务器和线路品质那自然是不在话下的。即提高了下载速度又减少了自己服务器的并 发连接数。不用就是傻子了。 用起来也很简单,直接在网页里引用google服务器上的相关js文件就可以了。不过,如果引用多个js,就要插入多段的script。现在像我这样代码 能少一个字算一个字的人不少。google也提供了相应的办法,那就是google load。我们只需要在页面里引用一个js文件,就可以根据需要实时加载用到的js库了。首先在页头部分加入以下这行代码: <div> <pre>&lt;script type="text/javascript" src="http://<a name="baidusnap0"></a>www.google.com/jsapi"&gt;&lt;/script&gt;</p

Continue

收藏学习 <strong>PHP</strong> 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI或者Perl更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成 HTML标记的CGI要高许多。下面介绍了十个PHP高级应用技巧。 <strong>1, 使用 ip2long() 和 long2ip() 函数来把 IP 地址转化成整型存储到数据库里。</strong> 这种方法把存储空间降到了接近四分之一(char(15) 的 15 个字节对整形的 4 个字节),计算一个特定的地址是不是在一个区段内页更简单了,而且加快了搜索和排序的速度(虽然有时仅仅是快了一点)。 <strong>2, 在验证 email 地址的时候使用 checkdnsrr() 函数验证域名是否存在。</strong> 这个内置函数能够确认指定的域名能够解析成 IP 地址。该函数的PHP 文档的用户评论部分有一个简单的用户自定义函数,这个函数基于 checkdnsrr(),用

Continue