Django的使用记录


=Start=

缘由:

总结以往经验,方便以后参考

正文:

1. 编译安装 Python 2.7
2. 安装 Python 2.7 对应的 PIP
3. 利用 PIP 安装一些模块
$ pip install Django==1.8.16 MySQL-python virtualenv virtualenvwrapper
4. 使 VirtualENV 立即生效
$ vim ~/.bashrc
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/workspace
source /usr/local/bin/virtualenvwrapper.sh

$ source ~/.bashrc
5. 使用虚拟环境
mkvirtualenv soc #创建运行环境soc
workon soc #工作在 soc 环境 或 从其它环境切换到 soc 环境
deactivate #退出终端环境
rmvirtualenv soc #删除运行环境soc

lsvirtualenv #列出可用的运行环境
lssitepackages #列出当前环境安装了的包
6. 开始Django项目的开发
#1. 新建一个 django project
$ django-admin.py startproject sec_op_center
$ cd sec_op_center/

#2. 新建 app
$ django-admin.py startapp bash_app
$ vim sec_op_center/settings.py #将新定义的app名称(bash_app)加到settings.py中的INSTALL_APPS中
$ vim bash_app/views.py #定义视图函数(访问页面时的内容)
$ vim sec_op_center/urls.py #定义视图函数相关的URL[即:访问什么网址对应什么内容]

#2.x 再建一个 app
$ django-admin.py startapp idc_app
$ vim sec_op_center/settings.py #将新定义的app名称(idc_app)加到settings.py中的INSTALL_APPS中
$ vim idc_app/views.py #定义视图函数(访问页面时的内容)
$ vim sec_op_center/urls.py #定义视图函数相关的URL[即:访问什么网址对应什么内容]

#3. 数据库配置&同步数据库
$ vim sec_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

$ python manage.py makemigrations
$ python manage.py migrate

#4. 运行测试
$ python manage.py runserver 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 文件夹中存放、编辑各自的内容模板文件即可在多应用的情况下基于一套模板进行开发。

8.待添加

……

=END=

,

《 “Django的使用记录” 》 有 13 条评论

  1. 记Django开发中的一些常用代码段
    https://thief.one/2018/01/26/1/
    `
    1. 前端功能
      1.1. 面板折叠
      1.2. 表格分页
      1.3. 弹出框(可编辑)
      1.4. 弹出提醒框(不可编辑)
      1.5. 搜索框自动补全
      1.6. ajax请求
      1.7. 界面面板布局
    2. 后端功能
      2.1. 表格分页
      2.2. session做身份认证
    `

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注