Django的MTV分别表明:python
Model(模型):负责业务对象与数据库的对象(ORM)mysql
Template(模版):负责如何把页面展现给用户sql
View(视图):负责业务逻辑,并在适当的时候调用Model和Templateshell
此外,Django还有一个urls分发器,它的做用是将一个个URL的页面请求分发给不一样的view处理,view再调用相应的Model和Template数据库
pip3 install django
django-admin.py startproject [preject名称]
生成的目录结构:django
python manage.py startapp blog
python manage.py runserver 8080
#建立或修改表,当在models.py中新增或修改了类时,能够自动在数据库中建立修改表 python manage.py makemigrations python manage.py migrate
#此命令会询问是 yes 仍是 no, 选择 yes 会把数据所有清空掉,只留下空表 python manage.py flush
数据库相关,详见session
''' python manage.py createsuperuser # 按照提示输入用户名和对应的密码就行了邮箱能够留空,用户名和密码必填 # 修改 用户密码能够用: python manage.py changepassword username '''
#能够在这个 shell 里面调用当前项目的 models.py 中的 API,对于操做数据的测试很是方便 python manage.py shell
'''
Django 会自动进入在settings.py中设置的数据库,若是是 MySQL 或 postgreSQL,会要求输入数据库用户密码
在这个终端能够执行数据库的SQL语句。若是对SQL比较熟悉,可能喜欢这种方式
'''
python manage.py dbshell
#查看全部的命令 python manage.py
3.1 数据库app
#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 模板路径post
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', ]