=Start=
缘由:总结以往经验,方便以后参考
正文: 1. 编译安装 python 2.7 2. 安装 Python 2.7 对应的 PIP 3. 利用 PIP 安装一些模块 $ pipinstallDjango==1.8.16 mysql-pythonvirtualenvvirtualenvwrapper 4. 使 VirtualENV 立即生效 $ vim ~/.bashrc exportWORKON_HOME=$HOME/.virtualenvs exportPROJECT_HOME=$HOME/workspace source /usr/local/bin/virtualenvwrapper.sh $ source ~/.bashrc 5. 使用虚拟环境 mkvirtualenvsoc #创建运行环境soc workonsoc #工作在 soc 环境 或 从其它环境切换到 soc 环境 deactivate #退出终端环境 rmvirtualenvsoc #删除运行环境soc lsvirtualenv #列出可用的运行环境 lssitepackages #列出当前环境安装了的包 6. 开始Django项目的开发 #1. 新建一个 django project $ django-admin.pystartprojectsec_op_center $ cdsec_op_center/ #2. 新建 app $ django-admin.pystartappbash_app $ vimsec_op_center/settings.py #将新定义的app名称(bash_app)加到settings.py中的INSTALL_APPS中 $ vimbash_app/views.py #定义视图函数(访问页面时的内容) $ vimsec_op_center/urls.py #定义视图函数相关的URL[即:访问什么网址对应什么内容] #2.x 再建一个 app $ django-admin.pystartappidc_app $ vimsec_op_center/settings.py #将新定义的app名称(idc_app)加到settings.py中的INSTALL_APPS中 $ vimidc_app/views.py #定义视图函数(访问页面时的内容) $ vimsec_op_center/urls.py #定义视图函数相关的URL[即:访问什么网址对应什么内容] #3. 数据库配置&同步数据库 $ vimsec_op_center/settings.py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), }, 'db1': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'dbname1', 'USER': 'your_db_user_name', 'PASSWORD': 'yourpassword', "HOST": "localhost", }, 'db2': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'dbname2', 'USER': 'your_db_user_name', 'PASSWORD': 'yourpassword', "HOST": "localhost", }, } # use multi-database in django DATABASE_ROUTERS = ['project_name.database_router.DatabaseAppsRouter'] DATABASE_APPS_MAPPING = { #'app_name':'database_name', 'app1': 'db1', 'app2': 'db2', } # http://www.ziqiangxuetang.com/django/django-multi-database.html $ pythonmanage.pymakemigrations $ pythonmanage.pymigrate #4. 运行测试 $ pythonmanage.pyrunserver 0.0.0.0:8080 7.一个Django项目(project)中各应用(app)如何基于一套基础模板进行开发Django 模板查找机制: Django 查找模板的过程是在每个 app 的 templates 文件夹中找(而不只是当前 app 中的代码只在当前的 app 的 templates 文件夹中找)。各个 app 的 templates 形成一个文件夹列表,Django 遍历这个列表,一个个文件夹进行查找,当在某一个文件夹找到的时候就停止,所有的都遍历完了还找不到指定的模板的时候就是 Template Not Found (过程类似于Python找包)。这样设计有利当然也有弊,有利是的地方是一个app可以用另一个app的模板文件,弊是有可能会找错了。所以我们使用的时候在 templates 中建立一个 app 同名的文件夹,这样就好了。这就需要把每个app中的 templates 文件夹中再建一个 app 的名称,仅和该app相关的模板放在 app/templates/app/ 目录下面,在使用的时候,模板就是 “app1/index.html” 和 “app2/index.html” 这样有app作为名称的一部分,就不会混淆。
Django项目的app的模板一般放在自己app目录下的templates中,Django会自动去这个文件夹中找。
推荐将多个app共用的基础模板文件放在由项目的 settings.py 文件中指定的 STATIC_URL 所在目录下,然后在各个app下的 templates 文件夹中存放、编辑各自的内容模板文件即可在多应用的情况下基于一套模板进行开发。
http://www.ziqiangxuetang.com/django/django-template.html http://www.ziqiangxuetang.com/django/django-static-files.html 8.待添加……
=END=