Django概述

Django是什么

Django是一个开放源代码Web应用框架,由Python写成。采用了MVC软件设计模式,即模型M,视图V和控制器C。

Django的主要目标是使得开发复杂的、数据库驱动的网站变得简单。Django注重组件的重用性和“可插拔性”,敏捷开发DRY法则(Don't Repeat Yourself)

为什么要有框架

请参考对框架的认识

Django框架的核心

Django框架的核心包括:一个 面向对象 的映射器,用作数据模型(以Python的形式定义)和关系性数据库间的媒介;一个基于正则表达式的URL分发器;一个视图系统,用于处理请求;以及一个模板系统。

安装Django

我采用的是windows的安装方式

在cmd命令行里面

pip  install Django

查看安装版本
django-admin --version
1.10.5

  

创建Django项目的流程

Django命令行创建

1.创建项目

从命令行,cd进入您要存储项目的目录,然后运行以下命令:

django-admin startproject   项目名字

例如:
django-admin startproject mysite
这将在当前目录中创建一个项目(也就是一个文件夹)mysite

  

项目目录结构如下

外部mysite/根目录只是项目的容器。它的名字对Django没有关系; 你可以重命名为任何你喜欢的

manage.py:一个命令行实用程序,允许您以各种方式与此Django项目进行交互,通过它可以调用django shell和数据库等

内部mysite/目录是项目的实际Python包。它的名字是你需要用来导入任何内容(例如mysite.urls)的Python包名称。

mysite/__init__.py:一个空文件,告诉Python该目录应该被视为一个Python包。

mysite/settings.py:此Django项目的设置/配置。 Django设置会告诉你所有关于设置如何工作。包含了项目的默认设置,包括数据库信息,调试标志以及其他一些工作的变量。

mysite/urls.py:Django项目的URL声明; 负责把URL模式映射到应用程序。

mysite/wsgi.py:与WSGI兼容的Web服务器为您的项目提供服务的入口点。

2.创建app

例如:创建一个blog
注意在外部的mysite目录下

python manage.py startapp  app名字
例:
python manage.py startapp blog

  

blog的目录结构如下

views.py 存放视图函数(相关的逻辑操作函数都在这里操作)
models.py 与数据库相关的内容交互.
admin.py django的后台管理

migrations是一个目录文件夹用来存放数据库的初始化脚本的

tests.py 用来做测试用的

apps.py 代表当前的应用

3.启动项目

python manage.py runserver 8080

如果要更改服务器的IP,请将其与端口一起传递。所以要监听所有的公共IP(如果你想展示你的工作在网络上的其他计算机有用),请使用:
python manage.py runserver 0 .0.0.0:8000 可以自定义设置ip把0.0.0.0 换成相应的ip就ok了

  

注:自动重新加载 runserver
服务器根据需要自动重新加载每个请求的Python代码。不需要重新启动服务器以使代码更改生效。但是,某些操作(如添加文件)不会触发重新启动,因此在这些情况下,必须重新启动服务器。

4.测试访问本机的admin

用浏览器访问:http://127.0.0.1:8080/admin

ok     创建项目成功

。。。。。

用pycharm这里就不介绍操作了

项目与应用程序关系

项目和应用程序之间有什么区别?
应用程序是一个执行某些操作的Web应用程序 - 例如Weblog系统,公共记录数据库或简单的轮询应用程序。项目是特定网站的配置和应用程序的集合。项目可以包含多个应用程序。应用程序可以在多个项目中。

初始Django的更多相关文章

  1. Django 00-socket、wsgi及初始django学习心得

    HTTP基本原理1.http简述:http协议永远都是客户端发起请求,服务端回送请求.客户端和服务端本质上是一个socket客户端和服务端,http协议可以说是基于socket的再上层封装2.http ...

  2. [oldboy-django][1初始django]后台管理页面的布局 + djano母版(继承html)

    完善学员管理系统 - bootstrap fontawesome - 分页,路径导航,表格(class样式),消息图标(i标签),邮件图标(i标签) - 响应式导航 @media(min-width, ...

  3. [oldboy-django][1初始django]web框架本质 + django框架 + ajax

    web框架本质 浏览器(socket客户端) - 发送请求(ip和端口,url http://www.baidu.com:80/index/) - GET 请求头(数据请求行的url上: Http1. ...

  4. [oldboy-django][1初始django]昨日回顾

    1 web框架的本质:socket客户端和服务端通信,socket遵循http协议(短连接,无状态),规定了数据格式(消息头,消息体):传输的数据本质上是字符串 2 django: django安装( ...

  5. 初始Django—Hello world

    1. 准备环境 > python -V Python > pip -V pip from c:\python3\lib\site-packages\pip (python 3.7) > ...

  6. 初始 Django

    Python 知识点:函数,面向对象 前端开发:HTML,CSS,JavaScript,jQuery,BootStrap MySQL 数据库 Python 的 WEB 框架 Flask:轻量化,第三方 ...

  7. [oldboy-django][1初始django]模态对话框 + 动态加载gif (多对多数据库表)

    ajax+对话框(多对多) - 遮罩层,动态加载gif层,对话框层, a.一点击添加,绑定事件: - 出现遮罩层和动态gif层 - ajax向后台发送请求获取所有班级数据 - success,隐藏动态 ...

  8. Django1.8教程——从零开始搭建一个完整django博客(一)

    第一个Django项目将是一个完整的博客网站.它和我们博客园使用的博客别无二致,一样有分类.标签.归档.查询等功能.如果你对Django感兴趣的话,这是一个绝好的机会.该教程将和你一起,从零开始,搭建 ...

  9. Django学习笔记(4)——Django连接数据库

    前言 在MVC或者MTV设计模式中,模型(M)代表对数据库的操作.那么如何操作数据库呢?本小节就认真学习一下.首先复习一下Django的整个实现流程 ,然后再实现一下使用数据库的整个流程,最后学习一下 ...

随机推荐

  1. Python3基础 filter与lambda表达式配合 筛选出1-100之间的奇数

    镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.-------------------------------------- ...

  2. UVa 11129 - An antiarithmetic permutation

    题目大意:给一个正整数n,构造一个0...n-1的排列,使得这个排列的任何一个长度大于2的子序列都不为等差数列. 把序列按照奇偶位置分成两个序列,这样在两个序列间就不会形成等差数列了,然后再对这两个序 ...

  3. CocoaPods ReactiveCocoa 学习实践一 之 配置环境

    1.安装CocoaPods 1.00.参考 CocoaPods 文档 1.01.是否已安装 which pod 1.1.升级gem命令 sudo gem update --system 1.2.切换C ...

  4. linux 自动备份脚本

    首先我在/root/backup 目录下建立一个文件夹, #mkdir /root/backup/mysqlbackup 以后在每天五点钟,就会有一个文件保存在这里. 接着新建文件 #vim /roo ...

  5. java_web学习(2)Servlet

    软件编程体系 B\S 系统架构与C\S 系统结构 Web服务器         HTTP 协议:Web 浏览器与 web 服务器的交互所遵循的规则.         Web 服务器:Web服务器可以解 ...

  6. JDBC-ODBC桥连接方式操纵SQL数据库

    /**  * 功能:演示使用JDBC-ODBC桥连接方式操纵SQL数据库  * 作者:徐守威  * 操作步骤:  * 1.配置数据源  * 2.在程序中连接数据源  * 3.操作数据  */ pack ...

  7. Java经典案例之-“统计英文字母、空格、数字和其它字符的个数”

    /** * 描述:输入一行字符串,并且统计出其中英文字母.空格.数字和其它字符的个数. * 分析:利用for语句,条件为输入的字符不为 '\n ' * 作者:徐守威 */ package com.xu ...

  8. --@angularJS--浅谈class与Ng-Class的应用

    1.angularjs的表达式是可以写在class里面动态改变其值的,写法如下: □.CSS1.html: <!doctype html><html ng-app="MyC ...

  9. Java 伪静态 Mapping

    1. 概念 伪静态,简单来说是指转换url地址,在这里用来替换掉urlMapping.因为urlMapping需要为每一个页面都进行配置,非常麻烦. 2. RequestMapping 3. Spri ...

  10. Java NIO------基础理论之缓存区

    1.概述:NIO我的理解就是 New IO,是API1.4里提供的新的API,为所有的原始类型做缓存支持. NIO主要的核心组成部分: Buffer(缓存) Channels(通道) Selector ...