zoukankan      html  css  js  c++  java
  • Python学习笔记_04:Django框架简介

    目录

    1 什么是Django?

    2 Django框架的开发环境搭建

    3 Django操作MySql数据库简介

    4 功能强大的Django管理工具应用

     


    1 什么是Django?

    Django是应用于Web开发的高级动态语言框架,最初起源于美国芝加哥的Python用户组,具有新闻从业背景的Adrian Holovaty是Django框架的主要开发者。在Adrian的带领下,Django小组致力于为Web开发者贡献一款高效、完美的Python框架,并且在BSD(Berkeley Software Distribution,伯克利软件套装)开放源代码协议许可下授权给开发者自由使用。

     

    Django拥有完善的模板机制、对象关系映射机制以及用于动态创建后台管理界面的功能。使用Django框架来开发Web应用,可以快速设计和开发具有MVC层次的Web应用。Django框架是从实际项目中诞生出来的,该框架提供的功能特别适合于动态网站的建设,特别是管理接口。

     

    Django框架作为一种快速的网络框架,具有以下特点:

    • l 组件的合理集成
    • l 对象关系映射和多数数据库支持
    • l 简洁的URL设计
    • l 自动化的管理界面
    • l 强大的开发环境

    2 Django框架的开发环境搭建

    安装Django框架(PS:此处仅简单说明Windows环境下方式)

    下载链接:https://www.djangoproject.com/download/(PS:网页界面上有详细的安装步骤说明,之所以贴出链接,方便查看当前Django框架的最新版本以及相应版本支持的Python版本。楼主写这篇文章使用Python版本为2.7.14)

    打开CMD输入:pip install Django==1.11.7(PS:其中1.11.7表示安装的Django版本。其中pip是管理安装Python相关模板架包的管理工具,如果没有安装,请提前安装哦。使用pip安装相关模板架包非常方便)

    附pip9.0.1下载链接:https://pypi.python.org/pypi/pip/9.0.1

    百度云盘下载链接:http://pan.baidu.com/s/1i4PtOzV 密码:dzqe

    下载后,解压,cmd中进入解压后的根目录,输入python setup.py install(PS:出现下图及说明安装成功),然后cmd进入Python安装根目录Scripts文件夹,即可使用pip命令安装相应模块和包。

     安装完pip后,可以把D:Program Files (x86)Python27Scripts(PS:红色字体部分是楼主自己Python安装路径)添加进环境变量path中,即可在cmd中直接使用pip命令,例如下图:

     

    开启服务器

    启动Django框架中已包含的一个轻量级的Web应用服务器。因此,在使用Django框架开发Web项目时,不需要再对其配置服务器,比如针对Apache的配置。(PS:Django框架自带的轻量级Web应用服务器,便于开发过程中测试,性能较低,如果想要获取高性能,在完成系统开发后,重新部署一个服务器,例如使用Apache中Tomcat、Nginx, lighttpd等)

    在CMD中切换到新创建的项目目录中,然后在该目录下输入以下命令:manage.py runserver(PS:此命令,默认开启系统8000端口,如果8000端口被占,可以使用manage.py runserver 8001使用8001端口,或者填写其它数字端口)

     


    3 Django操作MySql数据库简介

    数据库配置

    在项目的 settings.py 文件中找到 DATABASES 配置项,将其信息修改为:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',  # 或者使用 mysql.connector.django
            'NAME': 'book',          #连接数据库名称
            'USER': 'root',          #mysql数据库连接用户名
            'PASSWORD': 'root',     #mysql数据库连接密码
            'HOST': 'localhost',
            'PORT': '3306',
            'OPTIONS': {
                  'init_command': "SET sql_mode='STRICT_TRANS_TABLES'" ,
                  # 'charset': 'utf8mb4',
            }
        }
    }

    以下具体操作步骤(具体参考自网上教程:Django 模型):

    创建 APP

    Django规定,如果要使用模型,必须要创建一个app。我们使用以下命令创建一个 TestModel 的 app:

    django-admin.py startapp TestModel 

    我们修改 TestModel/models.py 文件,代码如下:

    HelloWorld/TestModel/models.py: 文件代码:

    # models.py
    from django.db import models
     
    class Test(models.Model):
        name = models.CharField(max_length=20)

    以上的类名代表了数据库表名,且继承了models.Model,类里面的字段代表数据表中的字段(name),数据类型则由CharField(相当于varchar)、DateField(相当于datetime), max_length 参数限定长度。

    接下来在settings.py中找到INSTALLED_APPS这一项,如下:

    INSTALLED_APPS = (
    
        'django.contrib.admin',
    
        'django.contrib.auth',
    
        'django.contrib.contenttypes',
    
        'django.contrib.sessions',
    
        'django.contrib.messages',
    
        'django.contrib.staticfiles',
    
        'TestModel',               # 添加此项
    )

    在命令行中运行:

    $ python manage.py migrate   # 创建表结构
    
    $ python manage.py makemigrations TestModel  # 让 Django 知道我们在我们的模型有一些变更
    
    $ python manage.py migrate TestModel   # 创建表结构

    看到几行 "Creating table…" 的字样,你的数据表就创建好了。

    Creating tables ...……Creating table TestModel_test  #我们自定义的表……

    表名组成结构为:应用名_类名(如:TestModel_test)。

    注意:尽管我们没有在models给表设置主键,但是Django会自动添加一个id作为主键。

    教程上包括:添加数据、更新数据、删除数据,具体请参考上述教程链接。

     


    4 功能强大的Django管理工具应用

    首先查看管理工具运行效果:

                                                                                                   图1 首页登陆界面,漂亮吧

                                                                                                  图2 登陆成功后管理界面,Django框架自带,一行代码搞定

                                                                                                  图3 操作后台contact实体表,可以进行增加、删除、修改以及查询

    具体代码见:https://coding.net/u/LiuZhen1995/p/MyDemo/git/tree/origin_nine/

    参考资料:

    1.《Python Web开发学习实录》 李勇 王文强  编著

    2.http://www.runoob.com/django/django-tutorial.html

    3.https://code.ziqiangxuetang.com/django/django-tutorial.html

     

  • 相关阅读:
    OS模块功能
    read()、readline()、readlines()区别
    【ML-0-2】矩阵求导-定义法和微分法
    【ML-0-1】矩阵求导-定义和求导布局
    博客园转文章的方法
    风格迁移论文--Arbitrary style transfer in real-time with adaptive instance normalization
    【TF-3-2】Tensorflow-mnist的手写识别
    【TF-3-1】Tensorflow--简单线性拟合
    图像分割简介
    图像表示与图像处理的基本概念
  • 原文地址:https://www.cnblogs.com/liuzhen1995/p/7822601.html
Copyright © 2011-2022 走看看