【Django】初识

2018-12-05  本文已影响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细节会有点差异,但整体框架不变

上一篇下一篇

猜你喜欢

热点阅读