1、项目生成app与安装
python manage.py startapp social
执行上述命令后,就会在项目下生成一个新的app,名字为social。注意,生成成功后会在项目目录下生成一个与app同名的文件夹。注意:生成成功并不意味着这个app生效,要使app生效需要进行以下设置来进行安装:
编辑项目的settings.py文件,找到INSTALLED_APPS设置,该参数用于告诉Django哪些app是处于激活状态,所以只要将新建的app加到此参数中就会激活新建的app。
只有app处于激活状态,app中的模型才会起作用,才能够在Django中操作数据库。激活app后,修改models.py来添加模型,添加完成后执行python manage.py syncdb来进行同步,这样在数据库中就会建立模型对应的相应的表。
2、数据库配置
Django默认使用的是sqlite数据库,要使用其他数据库引擎需要在settings.py中进行设置。修改的是DATABASES参数,如使用mysql数据库可以进行如下设置:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'relation', 'USER': 'root', 'PASSWORD': '', 'HOST': 'localhost', 'PORT':'3306' } }
3、模板目录设置
在视图函数中为了方便,一般需要使用模板来使返回的页面更加漂亮,如使用render_to_response()函数来快速加载模板。函数的第一个参数是模板的物理路径,如果使用完整路径,则会导致程序的移植性变差,每一次移动都需要进行修改。为了方便加载模板,可以在settings.py来设置模板目录,这样就不用考虑移植问题了,过程如下
(1)在项目目录下新建文件夹用来存放模板,如static。以后将模板放到此目录下即可。
(2)在settings.py文件中加入如下代码
import os.path TEMPLATE_DIRS=(os.path.join(os.path.dirname(os.path.dirname(__file__)),'static').replace('\\','/'),)
经过上面的设置后,直接在程序中调用模板目录下的模板即可,不需要写完整路径了。如调用模板目录static下的模板login.html,则代码为:
return render_to_response("login.html")
可以看到不需要写login.html文件的绝对路径了。
4、将Django程序部署到Apache下
参考:http://jinglingshu.org/?p=3761
5、表单提交时防止出现403的方法
参考:http://jinglingshu.org/?cat=23
6、Django中HttpResponseRedirect重定向的使用
一般在程序要设置一些目录的重定向,重定向有两种方法:一是利用403重定向;二是利用js跳转。进行403重定向,一般是在视图函数中使用HttpResponseRedirect来实现重定向,因此要注意与HttpResponseRedirect有关的以下几点,防止出错:
(1)重定向的url中前面要有 /
from django.http import HttpResponseRedirect def myview(request): ... return HttpResponseRedirect("/path/")
ps:注意上面路径是/path/,而不是path/。
(2)使用HttpResponseRedirect在使用session认证时有问题
可能跳转后没有带上原先的request对象吧。最后我也不跳转了,直接调用跳转后对应的视图函数,因为这样可以将request对象传参进去。
其他django重定向的设置方法,参考:http://blog.csdn.net/ei__nino/article/details/8567698。
转载请注明:jinglingshu的博客 » Django使用