Django目录解释、创建应用(app)、创建数据连接

一、新建项目

创建一个mysite项目

$ django-admin startproject mysite

创建好项目以后,会在目录下生成一个mysite的目录,就是我们django项目的根目录。

注意:在给项目命名的时候必须避开Django和Python的保留关键字,否则会一起冲突和莫名的错误。

项目结构:

mysite/        # 项目的根目录
    manage.py  # 命令行工具,与django的交互脚本
    mysite/    # 真正的项目目录
        __init__.py
        settings.py  # 配置文件
        urls.py    # 路由  ---->URL与函数的对应关系
        wsgi.py
   templates/    # 用来放HTML文件    

各文件和目录解释:

  • 外层的mysite/目录与Django无关,只是你项目的容器,可以任意命名。
  • manage.py:一个命令行工具,用于与Django进行不同方式的交互脚本,非常重要!
  • 内层的mysite/目录是真正的项目文件包裹目录,它的名字是你引用内部文件的包名,例如:mysite.urls
  • mysite/__init__.py:一个定义包的空文件。
  • mysite/settings.py:项目的主配置文件,非常重要!
  • mysite/urls.py:路由文件,所有的任务都是从这里开始分配,相当于Django驱动站点的内容表格,非常重要!
  • mysite/wsgi.py:一个基于WSGI的web服务器进入点,提供底层的网络通信功能。

二、模版文件配置

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, "templates")],  # template文件夹位置
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

三、静态文件配置

STATIC_URL = '/static/'  # HTML中使用的静态文件夹前缀
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),  # 静态文件存放位置
]

静态文件包括:css样式文件,JavaScript脚本文件,图片等

 

四、创建应用(app)

一个Django项目可以分为很多个APP,用来隔离不同功能模块的代码。

1.命令行创建

python manage.py startapp app01

2.使用PyCharm创建



在下方弹出的命令窗口输入:

startapp app01         # 就是省略了 python manage.py  这一句  根据个人喜好使用吧

3.生成的目录

 

4.将创建好的app01添加到Django项目中

配置类文件app01/apps.py  ----> 对应的路径  app01.apps.App01Config

添加到 INSTALLED_APPS

 

五、创建数据库连接(mysql)(四步走)

1.打开项目目录下的settings.py 找到DATABASES配置项

修改为mysql的配置

 

2.配置  
Django默认使用的是 MySQLdb模块 连接数据库
python3不支持这个模块,我们使用pymysql模块
告诉Django用pymysql这个模块去连接MySQL
在settings.py同目录下的__init__.py文件中,指定使用pymysql模块代替MySQLdb

import pymysql
 pymysql.install_as_MySQLdb()

3.定义Model
在app/models.py文件中定义类,一定要继承models.Model。

4.执行创建表的操作

  1. python manage.py makemigrations   ----> 将models.py的修改告诉Django
  2. python manage.py migrate      ----> 将修改翻译成SQL语句,去数据库执行
过运行makemigrations命令,相当于告诉Django你对模型有改动,
并且你想把这些改动保存为一个“迁移(migration)”。

migrations是Django保存模型修改记录的文件,这些文件保存在磁盘上。
执行完之后在app01/migrations/0001_initial.py,你可以打开它看看.
里面保存的都是人类可读并且可编辑的内容,方便你随时手动修改。

 

posted @ 2018-06-12 17:38  Fixdq  阅读(1078)  评论(0编辑  收藏  举报