Django的基本开发环境配置和MTV模型

一.MTV模型

Django的MTV分别代表:

       Model(模型):负责业务对象与数据库的对象(ORM)

       Template(模版):负责如何把页面展示给用户

       View(视图):负责业务逻辑,并在适当的时候调用Model和Template

       此外,Django还有一个urls分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template

二Django基本命令

2.1 下载Django

pip3 install django

2.2 创建Django project

django-admin.py startproject [preject名称]

生成的目录结构:

  • manage.py ----- Django项目里面的工具,通过它可以调用django shell和数据库等。
  • settings.py ---- 包含了项目的默认设置,包括数据库信息,调试标志以及其他一些工作的变量。
  • urls.py ----- 负责把URL模式映射到应用程序。

 2.3 创建Django app

python manage.py startapp blog

 2.4 启动Django

python manage.py runserver 8080

2.5 数据库相关命令

#创建或修改表,当在models.py中新增或修改了类时,可以自动在数据库中创建修改表
python manage.py makemigrations
python manage.py migrate
#此命令会询问是 yes 还是 no, 选择 yes 会把数据全部清空掉,只留下空表
python manage.py flush

数据库相关,详见

2.6 创建超级管理员

'''
    python manage.py createsuperuser
     
    # 按照提示输入用户名和对应的密码就好了邮箱可以留空,用户名和密码必填
     
    # 修改 用户密码可以用:
    python manage.py changepassword username
    
'''

2.7 Django 项目环境终端

#可以在这个 shell 里面调用当前项目的 models.py 中的 API,对于操作数据的测试非常方便
python manage.py shell
'''
Django 会自动进入在settings.py中设置的数据库,如果是 MySQL 或 postgreSQL,会要求输入数据库用户密码
在这个终端可以执行数据库的SQL语句。如果对SQL比较熟悉,可能喜欢这种方式
'''
python manage.py dbshell

2.8 查看更多命令

#查看所有的命令
python manage.py

三.开发环境配置

3.1 数据库

#MySQL
DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME':'dbname',
    'USER': 'root',
    'PASSWORD': 'xxx',
    'HOST': '',
    'PORT': '',
    }
}
#不要用默认mysqldb,换成pymysql连接数据库
#procjet.procjet.__init__.py
import pymysql
pymysql.install_as_MySQLdb()
#SQLlite
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

3.2 静态文件目录

STATICFILES_DIRS = (
    os.path.join(BASE_DIR,'static'),
)

3.3 模板路径

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR,'templates')],
        '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',
            ],
        },
    },
]

 3.4 media配置

#settings中:
#用户上传文件配置
MEDIA_URL='/media/'
MEDIA_ROOT=os.path.join(BASE_DIR,'media')

#urls中配置
#media 配置
url(r'media/(?P<path>.*)$',serve,{'document_root':settings.MEDIA_ROOT})

 app配置

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app01.apps.App01Config',
    'stark.apps.StarkConfig',
]
原文地址:https://www.cnblogs.com/hantaozi430/p/8350459.html