Django起步

   一、MTV和MVC模型

   Web框架中有两种分类,一个是MVC模型,另一个就是MTV模型,Django就是一个典型的MTV模型的框架。MTV模型的M指的是Model模型模块,它负责数据库相关的操作、T指的是Template模板,它负责如何把页面展示给用户、V指的是View视图,它负责业务逻辑,并在适当的时候调用Model和Template。此外Django还有一个urls模块,它负责把用户的URL请求转发给对应的业务函数处理。

 

  二、开始一个Django项目

   1、创建工程

   django-admin startproject  工程名    django-admin命令在安装django模块后生成于python安装目录下的bin目录中

   工程创建后会生成一个全局的manage.py文件,通过它可以调用django shell和数据库等

   在工程目录下会有如下文件:

         settings.py     包含了项目的默认设置,包括数据库信息,调试标志以及其他一些工作的变量

         urls.py           负责把URL请求映射到应用程序

         wsgi.py          负责HTTP请求处理

   2、创建应用

   django-admin startapp  应用名  该命令应该在工程目录下运行,同时一个工程可以包含多个应用

   应用目录下会生成如下文件:

        admin.py
        apps.py
        migrations目录
        models.py     负责数据库处理
        tests.py
        views.py       负责业务逻辑处理

   3、同步更改数据库表或字段

   当models有修改时必须停止django,执行以下命令再重启项目

   python manage.py makemigrations
   python manage.py migrate

   如以上步骤无效,先删除数据库中的所有表,再删除app目录下的migrations目录下的所有文件,然后执行以下命令

   python manage.py makemigrations app名
   python manage.py migrate

   3.6及以上版本python在同步数据库之前需要先将数据库修改为使用MySQL数据库或其他数据库

   4、启动工程

   python  manage.py   runserver  IP:端口

   5、清空数据库

   python manage.py flush

   6、创建超级管理员以及修改用户密码

   python manage.py createsuperuser

   python manage.py changepassword 用户名

   7、进入终端

   python manage.py shell python的shell,可以调用当前项目models的API
   python manage.py dbshell 进入数据库

   8、查看Django的所有命令

   python  manage.py

   9、静态文件配置

   in settings

   STATIC_URL = '/static/' # 别名
   STATICFILES_DIRS = (os.path.join(BASE_DIR,"static"), #实际名 ,即实际文件夹的名字)

   10、媒体配置

    in settings
    MEDIA_URL="/media/"
    MEDIA_ROOT=os.path.join(BASE_DIR,"app01","media","upload")

    in urls配置
    from django.views.static import serve

    urlpatterns = [
          url(r'^media/(?P<path>.*)$', serve, {'document_root': settings.MEDIA_ROOT}),]

    11、修改数据库设置

    in settings

    DATABASES={

         ‘default’:{

                      ‘ENGINE’:’django.db.backends.mysql’,

                      ’NAME’:’数据库名’,

                      ’USER’:’连接mysql的用户名’,

                      ’PASSWORD’:’连接mysql的密码’,

                      ’HOST’:’mysql服务器ip’,

                      ’PORT’:’mysql端口’,

                      'OPTIONS':{'sql_mode': 'traditional',}

    in 工程目录下的__init__.py

    import pymysql

    pymysql.install_as_MySQLdb()

    12、注册APP

    当项目中有多个应用时,需要在配置文件中注册该应用

    in settings

    INSTALLED_APPS = [‘’,’’,……’CMDB’]

    13、导入Django的所有配置

     from django.conf import settings

     settings['STATICFILES_DIRS']     以字典形式取配置信息

    14、Django请求生命周期

    请求从外部经过中间件过滤,经过最后一层中间件时从缓存中查找所需数据,如果有就返回给用户,如果没有则通过URL找到对应函数,函数从数据库拿出数据并和模板渲染形成一个字符串,经过中间件返回给用户浏览器并在经过第一 层中间件时在缓存中保存一份数据。

posted @ 2017-10-20 15:57  魅力宁波  阅读(185)  评论(0)    收藏  举报