Django 1.6网站开发学习笔记:数据库配置与错误修复

需积分: 9 3 下载量 57 浏览量 更新于2024-09-11 1 收藏 3KB TXT 举报
"这是一份关于使用Django 1.6进行网站开发的学习笔记,主要针对《Learing Website Development with Django 1.6》一书的内容进行了修改和补充,适用于在Linux环境下使用UTF8编码阅读。笔记包含了数据库配置、应用安装、表单处理和模板视图等多个关键知识点。" 在Django 1.6中,数据库配置是一个重要的部分。书中提到了将`DATABASE_NAME='bookmarksdb'`更改为 `'NAME': os.path.join(BASE_DIR, 'bookmarksdb.sqlite3')`,这意味着在设置数据库时,不再直接指定数据库名称,而是使用Django的BASE_DIR变量来确定数据库文件的完整路径,这样能更好地实现项目的可移植性。 在应用安装方面,笔记中展示了如何在`INSTALLED_APPS`列表中添加自定义应用。原来的代码是`'django_bookmarks.bookmarks'`,修改后变为`'bookmarks'`,简化了引用方式,只需提供应用的名称即可,这是因为Django会自动查找与应用名同名的子目录。 在表单处理中,注意到两个地方都提到了`{% csrf_token %}`。这个模板标签是防止跨站请求伪造(CSRF)的安全措施,必须在POST表单中包含,否则会导致403错误。例如:`<form method="post" action=".">{% csrf_token %}`。同时,`maxlength`属性在Django模板语言中应该写作`max_length`,如`<input type="text" maxlength=200>`应改为`<input type="text" max_length=200>`,这与Django模型字段的`max_length`参数相对应。 在模板视图方面,笔记指出`direct_to_template`已经在Django 1.5中被弃用,推荐使用类基视图(Class-based view)。原本的代码使用了`direct_to_template`,现在要替换为`TemplateView.as_view()`。例如,URL配置中的这一段: ```python url(r'^register/success/$', direct_to_template, {'template': 'registration/register_success.html'}), ``` 应改为: ```python url(r'^register/success/$', TemplateView.as_view(template_name='registration/register_success.html')), ``` 这表明了向更现代、更灵活的Django视图模式的转变。 总结来说,这份笔记涵盖了Django 1.6中的核心概念,包括数据库配置、应用注册、表单处理和模板视图的更新,对于初学者或正在升级项目到Django 1.6的开发者来说,具有很高的参考价值。通过这些知识点,读者可以更好地理解和实践Django框架,构建健壮且安全的Web应用。