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. KNN算法--物以类聚,人以群分

    KNN(K Nearest Neighbors,K近邻 )算法是机器学习所有算法中理论最简单,最好理解的.KNN是一种基于实例的学习,通过计算新数据与训练数据特征值之间的距离,然后选取K(K>= ...

  2. YII 1.0 缓存使用

    在main.php的组件components中配置设置添加缓存 'cache'=>array( 'class' => 'system.caching.CFileCache' ), 也就是f ...

  3. 2015年15+最佳的响应式HTML5网站模板

    015年最好的免费响应式HTML5模板通常用于创建新潮的网站. HTML5是HTML用于创建现代化网站的最新版本.随着这一现代标记语言的出现,网上冲浪的趋势变得越来越智能化越来越酷.几乎每个web开发 ...

  4. jpg图片在开发板上显示

    文件IO项目: 在开发板屏幕上循环显示目录里的图片 a.按照一定的间隔循环显示目录里的bmp图片 b.实现手指滑动来显示目录里的图片(bmp,jpg)上一张,下一张 d1: 1.能操控屏幕(查询开发板 ...

  5. Cracking the code interview

    推荐一本书<Cracking the code interview> Now in the 5th edition, Cracking the Coding Interview gives ...

  6. treegrid.bootstrap使用说明

    treegrid.bootstrap使用说明 这个插件是用来做有层次的表格的,大概如图: 官网  http://maxazan.github.io/jquery-treegrid/ 使用这个控件之前需 ...

  7. jdbc数据连接池dbcp要导入的jar包

    jdbc数据连接池dbcp要导入的jar包 只用导入commons-dbcp-x.y.z.jarcommons-pool-a.b.jar

  8. JDK源码分析-Integer

    Integer是平时开发中最常用的类之一,但是如果没有研究过源码很多特性和坑可能就不知道,下面深入源码来分析一下Integer的设计和实现. Integer: 继承结构: -java.lang.Obj ...

  9. HNOI2002(伸展树)

    营业额统计 Time Limit:5000MS     Memory Limit:165888KB     64bit IO Format:%lld & %llu Submit Status ...

  10. Codeforces Round #257 (Div. 1)A~C(DIV.2-C~E)题解

    今天老师(orz sansirowaltz)让我们做了很久之前的一场Codeforces Round #257 (Div. 1),这里给出A~C的题解,对应DIV2的C~E. A.Jzzhu and ...