django初体验

作者: 码农小杨 | 来源:发表于2017-02-07 22:03 被阅读115次

    为什么使用django?

    1,快速开发

    • 用Python开发
    • 数据库ORM系统

    2,大量内置应用

    • 后台管理系统admin
    • 用户认证系统 auth
    • 会话系统 sessions

    3,安全性高

    • 进行表单验证
    • 防止SQL注入
    • 防止跨站点攻击

    4,易于拓展


    创建工程及应用

    在任意目录使用下面命令进行创建工程:

    django-admin startproject  mysite
    

    查看创建项目的目录结构:

    mysite/
    ├── manage.py
    └── mysite
        ├── __init__.py
        ├── settings.py
        ├── urls.py
        └── wsgi.py
    

    下面我们进行对这些目录的作用进行分析:

    manage.py

    管理项目:包括数据库建立,服务器运行,测试等
    使用命令: python manage.py 子命令
    下面是一些子命令:

    Type 'manage.py help <subcommand>' for help on a specific subcommand.
    
    Available subcommands:
    
    [auth]
        changepassword
        createsuperuser
    
    [django]
        check
        compilemessages
        createcachetable
        dbshell
        diffsettings
        dumpdata
        flush
        inspectdb
        loaddata
        makemessages
        makemigrations
        migrate
        sendtestemail
        shell
        showmigrations
        sqlflush
        sqlmigrate
        sqlsequencereset
        squashmigrations
        startapp
        startproject
        test
        testserver
    
    [sessions]
        clearsessions
    
    [staticfiles]
        collectstatic
        findstatic
        runserver
    

    栗子:
    启动服务 python manage.py runserver
    启动服务的时候指定ip和端口 python manage.py runserver 0.0.0.0:8080
    启动shell python manage.py shell

    settings.py

    该文件是django的配置文件,比如 DEBUG 的开关,应用,中间件,数据库,静态文件的位置等配置。

    urls.py

    URL映射配置文件:决定一个url访问被哪个程序(函数)响应
    网址入口,关联到对应的views.py中的一个函数(或者generic类),访问网址就对应一个函数。

    wsgi.py

    Python应用程序或框架和Web服务器(例如apache)之间接口


    创建应用

    django中使用应用来分割功能
    例如一个游戏网站里有:游戏新闻,游戏论坛,Blog系统,在线商城等,在创建其他项目的时候,在线商城的应用就可以实现复用。
    创建应用语法: python manage.py startapp blog
    添加应用语法:将应用添加只配置文件中

      INSTALLED_APPS = [
          'django.contrib.admin',
          'django.contrib.auth',
          'django.contrib.contenttypes',
          'django.contrib.sessions',
          'django.contrib.messages',
          'django.contrib.staticfiles',
          'blog',
      ]
    

    查看应用的文件结构:

    blog
    ├── admin.py
    ├── apps.py
    ├── __init__.py
    ├── migrations
    │   └── __init__.py
    ├── models.py
    ├── tests.py
    └── views.py
    

    文件结构详解:

    views.py

    响应客户请求返回html页面
    处理用户发出的请求,从urls.py中对应过来, 通过渲染templates中的网页可以将显示内容,比如登陆后的用户名,用户请求的数据,输出到网页。

    models.py

    定义数据库中的表
    与数据库操作相关,存入或读取数据时用到这个,当然用不到数据库的时候 你可以不使用。

    admin.py

    admin相关,后台,可以用很少量的代码就拥有一个强大的后台。

    test.py

    测试相关

    templates 文件夹

    views.py 中的函数渲染templates中的Html模板,得到动态内容的网页,当然可以用缓存来提高速度。

    forms.py

    表单,用户在浏览器上输入数据提交,对数据的验证工作以及输入框的生成等工作,当然你也可以不使用。


    Django概述

    一次web访问的实质:
    1,客户端发送http请求到web服务器
    2,web服务器返回html页面给客户

    概述:
    1,URL配置:建立URL和响应函数之间的关系
    2,试图Views:响应客户http请求,进行逻辑处理,返回给用户html页面
    3,模型Models:描述我们服务器存储的数据(数据库的表)
    4,模板templates:用于生产html页面。返回给用户的html,是由数据(模型)和模板渲染出来的。

    文章来源:慕课网

    相关文章

      网友评论

        本文标题:django初体验

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