美文网首页
【Django】初识

【Django】初识

作者: 小蜗牛的成长 | 来源:发表于2018-12-05 13:43 被阅读0次

    Django 是一款python web框架,相比bottle.py或者web.py,功能大而全,比较多的模块可以直接拿来使用

    一. 安装

       注意django与python版本的匹配,根据需求,选择最新版本还是稳定版本(LTS)?这里我选择的是 v1.11.8的稳定版本

    版本图

       安装命令:pip install django==1.11.8

    重点

    出现问题

       1. 安装django库失败,解决方式:多执行几次

       2. 执行django-admin startproject **创建项目,报CommandError: **\manage.py already exists, overlaying a project or app into an existing directory won't replace conflicting file,原因及解决方式:版本冲突,我电脑上安装有python2和python3,2个环境都有django库,之后执行pip uninstall卸载成功后,再次执行仍然报错,查看site-packages文件夹,django文件夹仍然存在,删除后正常

    二. 项目结构

    结构目录

       创建项目:django-admin startproject【项目名】

    mysite/
        manage.py   #---管理django的命令行工具
        mysite/
            __init__.py #---告诉python这是一个包目录
            settings.py #---配置文件
            urls.py #---url目录,映射文件配置
            wsgi.py #---运行在 WSGI 兼容的Web服务器上的入口
    

       创建应用【一个项目可分成多个应用,便于管理】python3 manage.py startapp polls

    #执行后,会在项目的同级目录下创建polls文件夹,内部结构如下
    polls/
        __init__.py
        admin.py
        apps.py
        migrations/
            __init__.py
        models.py
        tests.py
        views.py
    

    三. 配置文件

    根目录下的 settings.py文件
       DEBUG:默认是true,启动服务器的情况下,文件更改也会自动更改,不需要手动重启服务器
       INSTALLED_APPS:应用配置,为了使用子应用的model,需要将子应用配置上去
       TEMPLATES:模板文件配置,主要是DIRS字段,告诉服务器模板的位置
       DATABASES:默认是sqlite3,我使用的是mysql,需要配置密码、账号等信息

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME':'',
            'USER': '',
            'PASSWORD': '',
            'HOST': '',
            'PORT': '',
           'CHARSET':''
        }
    }
    

       TIME_ZONEUSE_TZ:设置时区,这里设置

    TIME_ZONE = 'Asia/Shanghai'
    USE_TZ =False
    

       STATIC_URL:配置访问静态文件【css、js、Images等】的URL前缀,类似别名
       STATICFILES_DIRS:存放查找静态文件的目录

    重点
      1. 以上的每个配置项说明在注释里面都有对应的url访问查看详细,最好直接看官网解释
      2. 由于MySQLdb只支持Python2.,还不支持3.可以用PyMySQL代替,则需要在主目录的__init__.py中添加便可使用pymysql的API与mysql交互
    import pymysql
    pymysql.install_as_MySQLdb()#当成是mysqldb一样使用,否则,按照pymysql的方式
    

    四. MVC的设计模式

      MVC即Model【模型】-View【视图】-Controller【控制器】,实现了逻辑及界面的分离

       django遵循的MVC的设计模式

         Model ---类型MVC的Model,数据模型,抽象地描述数据的构成和逻辑关系
         URL+View ---类似Control,url 映射及处理和响应请求
         Template ---类似view,用来展示view传来的数据或者控制界面的显示样式

    五.结语

       附上最新版本的API说明:https://docs.djangoproject.com/zh-hans/2.1/ref/settings/,v1.8.11与v.2.1细节会有点差异,但整体框架不变

    相关文章

      网友评论

          本文标题:【Django】初识

          本文链接:https://www.haomeiwen.com/subject/oywccqtx.html