一、django简介

Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的软件设计模式,即模型M,视图V和控制器C。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。

Django是一个基于MVC构造的框架。但是在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV模式。它们各自的职责如下:

模型(Model),即数据存取层

处理与数据相关的所有事务: 如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。

模板(Template),即表现层

处理与表现相关的决定: 如何在页面或其他类型文档中进行显示。

视图(View),即业务逻辑层

存取模型及调取恰当模板的相关逻辑。模型与模板之间的桥梁。

二、安装Django

  1. # windows,linux,mac都可通过此命令安装
  2. pip3 install django

三、django基本命令

  1. 1.创建django命令
  2. django-admin.py startproject mysite(程序名)
  3. 2.创建djangoapp
  4. python manage.py startapp cmdbapp的名字)
  5. django-admin.py startapp cmdbapp的名字)
  6. 3.同步数据库
  7. python manage.py syncdb
  8. 注意:Django 1.7.1及以上的版本需要用以下命令
  9. python manage.py makemigrations
  10. python manage.py migrate
  11. 4.调试模式
  12. python manage.py runserver 8001
  13. # 监听所有可用 ip (电脑可能有一个或多个内网ip,一个或多个外网ip,即有多个ip地址)
  14. python manage.py runserver 0.0.0.0:8000
  15. 5.清除数据库
  16. python manage.py flush
  17. 6.创建后台超级管理员
  18. python manage.py createsuperuser
  19. 7.修改管理员密码
  20. python manage.py changepassword username(你当时设定的用户名)
  21. 8.导入和导出数据
  22. python manage.py dumpdata appname > appname.json
  23. python manage.py loaddata appname.json
  24. 9.进入数据库
  25. python manage.py dbshell
  26. 10.更多命令
  27. python manage.py

四、创建第一个Django项目

1. 下面我们使用pycharm来创建我们的第一个项目。

如上图所示:1.是我们的项目名称,2是应用名称

project和app概念

project是一个大的工程,

下面有很多功能:(一个project有多个app,其实他就是对你大的工程的一个分类)

例如一个运维平台是一个工程,那么他的app就是CMDB,监控系统,用户管理系统......

2.最基本的目录结构

3.视图和url的配置

我们用程序员的第一个程序hello,world!举例。

第一个静态视图

首先你需要在项目下创建一个名为user/views.py的空文件,Django对于view.py的文件命名没有特别的要求,它不在乎这个文件叫什么。但是根据约定,把它命名成view.py是个好主意,这样有利于其他开发者读懂你的代码。

  1. from django.shortcuts import HttpResponse
  2. # Create your views here.
  3. # 接下来,我们定义一个叫做hello 的视图函数,每个视图函数至少要有一个参数,通常被叫作request。 这是一个触发这个视图、包含当前Web请求信息的对象,是类django.http.HttpRequest的一个实例。在这个示例中,我们虽然不用request做任何事情,然而它仍必须是这个视图的第一个参数。
  4. def hello_world(request):
  5. return HttpResponse('hello,world!')

你的第一个URLconf

URLconf就像是Django所支撑网站的目录,它的本质是URL模式以及要为该URL模式调用的视图函数之间的映射表。你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。

例如,当用户访问/foo/时,调用视图函数foo_view(),这个视图函数存在于Python模块文件view.py中。

默认情况下在创建项目的时候脚本会自动为你创建一份URLconf(urls.py)。 默认的urls.py会像下面这个样子:

  1. """devops URL Configuration
  2. The `urlpatterns` list routes URLs to views. For more information please see:
  3. https://docs.djangoproject.com/en/1.10/topics/http/urls/
  4. Examples:
  5. Function views
  6. 1. Add an import: from my_app import views
  7. 2. Add a URL to urlpatterns: url(r'^$', views.home, name='home')
  8. Class-based views
  9. 1. Add an import: from other_app.views import Home
  10. 2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home')
  11. Including another URLconf
  12. 1. Import the include() function: from django.conf.urls import url, include
  13. 2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls'))
  14. """
  15. from django.conf.urls import url
  16. from django.contrib import admin
  17. # urlpatterns变量定义了`URL`以及用于处理这些`URL`的代码之间的映射关系
  18. urlpatterns = [
  19. url(r'^admin/', admin.site.urls),
  20. ]

把我们刚刚创建的hello_world函数关联到URLconf内:

  1. from django.conf.urls import url
  2. from django.contrib import admin
  3. from users import views
  4. urlpatterns = [
  5. url(r'^admin/', admin.site.urls),
  6. url(r'^hello/', views.hello_world)
  7. ]

Django URLconfs允许你使用正则表达式来做有力的URL映射,不过通常你可能只需要使用很少的一 部分功能,然后我们就可以运行django了。

  1. C:\Users\zhangxunan\PycharmProjects\devops>python3 manage.py runserver 8000
  2. Performing system checks...
  3. System check identified no issues (0 silenced).
  4. You have 13 unapplied migration(s). Your project may not work properly until you
  5. apply the migrations for app(s): admin, auth, contenttypes, sessions.
  6. Run 'python manage.py migrate' to apply them.
  7. September 03, 2016 - 10:56:45
  8. Django version 1.10, using settings 'devops.settings'
  9. Starting development server at http://127.0.0.1:8000/
  10. Quit the server with CTRL-BREAK.

访问http://127.0.0.1:8000/hello/看是否会出现下面的页面呢?

Web框架-Django基础的更多相关文章

  1. Web框架django基础篇

    基本配置及学习  路由(Urls).视图(Views).模板(Template).Model(ORM). 简介 Django 是一个由 Python 写成的开放源代码的 Web 应用框架.它最初是被开 ...

  2. Web框架——Django笔记

    Web框架--Django笔记 MVC和MTV MVC:Model.View.Controller MTV:Model.Template.View Django--MTV 1.创建Django程序   ...

  3. python运维开发(十七)----jQuery续(示例)web框架django

    内容目录: jQuery示例 前端插件 web框架 Django框架 jQuery示例 dom事件绑定,dom绑定在form表单提交按钮地方都会绑定一个onclick事件,所有查看网站的人都能看到代码 ...

  4. Python3.5学习十八 Python之Web框架 Django

    Python之Web框架: 本质:Socket 引用wsgiref创建web框架 根据web框架创建过程优化所得: 分目录管理 模板单独目录 执行不同函数单独存入一个方法py文件 Web框架的两种形式 ...

  5. Django学习---Web框架及基础知识

    Django学习---Web框架 web框架的本质 我们在学socket,我们创建一个socketserver,然后运行起来,有一个client客户端要连接socket服务端,连接上之后,如果两边都没 ...

  6. WEB框架-Django框架学习-预备知识

    今日份整理,终于开始整个阶段学习的后期了,今日开始学习Django的框架,加油,你是最胖的! 1.web基础知识 1.1 web应用 Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是 ...

  7. web框架---django

    15:31:14一.web框架1.框架:即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. ...

  8. Python 17 web框架&Django

    本节内容 1.html里面的正则表达式 2.web样式简介 3.Django创建工程 Html里的正则表达式 test 用来判断字符串是否符合规定的正则       rep.test('....')  ...

  9. python三大web框架Django,Flask,Flask,Python几种主流框架,13个Python web框架比较,2018年Python web五大主流框架

    Python几种主流框架 从GitHub中整理出的15个最受欢迎的Python开源框架.这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等. Django: Python We ...

随机推荐

  1. javascript第二课练习

    <script type="text/javascript">   window.onload=function()   //网页全部加载完后执行   {     va ...

  2. 动态修改ActionBar Menu的显示

    应用场景: 在主Activity中,采用InstrumentedActivity侧边栏的方式,侧边栏的每一项对应一个Fragment,要实现不同的Fragment动态显示与隐藏ActionBar Me ...

  3. 【转】Java基本数据类型

    原文网址:http://blog.csdn.net/bingduanlbd/article/details/27790287 Java语言是静态类型的(statical typed),也就是说所有变量 ...

  4. 2015第16周六学习java建议

    学习Java 建议: 尽量用 google 查找技术资料. 有问题在 stackoverflow 找找,大部分都已经有人回答. 多看官方的技术文档. ibm developerworkers 的文章质 ...

  5. SICP 练习 1.3

    (define (sum a b) (+ a b)) (define (sum-two a b c) ( cond ((and (> (sum a b) (sum a c)) (> (su ...

  6. 方案:在Eclipse IDE 中搭建Python开发环境

    Eclipse是一款功能强大的IDE,Python是一种功能强大的计算机语言,但是Python的IDE环境确实很缺乏,如果在强大的Eclipse中添加Python开发环境,那样就很完美了. 在这里,我 ...

  7. ./scripts/feeds update -a OpenWrt大招系列

    ./scripts/feeds update -a Updating feed 'packages' from 'https://github.com/openwrt/packages.git' .. ...

  8. Linux web性能优化

    1,

  9. vim 的配色方案

    浅色: http://www.vimninjas.com/2012/09/14/10-light-colors/ 深色: http://www.vimninjas.com/2012/08/26/10- ...

  10. Unity 功夫猫

    最近在家里闲着蛋疼,突然看到一个HTML游戏感觉挺可爱的,就把素材拿过来自己写了一遍. 游戏有很多细节还是没有模仿出来. 里面有一个2DUGUI帧动画播放插件,写了我3个通宵. 还是对Unity的扩展 ...