初始Django
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的更多相关文章
- Django 00-socket、wsgi及初始django学习心得
HTTP基本原理1.http简述:http协议永远都是客户端发起请求,服务端回送请求.客户端和服务端本质上是一个socket客户端和服务端,http协议可以说是基于socket的再上层封装2.http ...
- [oldboy-django][1初始django]后台管理页面的布局 + djano母版(继承html)
完善学员管理系统 - bootstrap fontawesome - 分页,路径导航,表格(class样式),消息图标(i标签),邮件图标(i标签) - 响应式导航 @media(min-width, ...
- [oldboy-django][1初始django]web框架本质 + django框架 + ajax
web框架本质 浏览器(socket客户端) - 发送请求(ip和端口,url http://www.baidu.com:80/index/) - GET 请求头(数据请求行的url上: Http1. ...
- [oldboy-django][1初始django]昨日回顾
1 web框架的本质:socket客户端和服务端通信,socket遵循http协议(短连接,无状态),规定了数据格式(消息头,消息体):传输的数据本质上是字符串 2 django: django安装( ...
- 初始Django—Hello world
1. 准备环境 > python -V Python > pip -V pip from c:\python3\lib\site-packages\pip (python 3.7) > ...
- 初始 Django
Python 知识点:函数,面向对象 前端开发:HTML,CSS,JavaScript,jQuery,BootStrap MySQL 数据库 Python 的 WEB 框架 Flask:轻量化,第三方 ...
- [oldboy-django][1初始django]模态对话框 + 动态加载gif (多对多数据库表)
ajax+对话框(多对多) - 遮罩层,动态加载gif层,对话框层, a.一点击添加,绑定事件: - 出现遮罩层和动态gif层 - ajax向后台发送请求获取所有班级数据 - success,隐藏动态 ...
- Django1.8教程——从零开始搭建一个完整django博客(一)
第一个Django项目将是一个完整的博客网站.它和我们博客园使用的博客别无二致,一样有分类.标签.归档.查询等功能.如果你对Django感兴趣的话,这是一个绝好的机会.该教程将和你一起,从零开始,搭建 ...
- Django学习笔记(4)——Django连接数据库
前言 在MVC或者MTV设计模式中,模型(M)代表对数据库的操作.那么如何操作数据库呢?本小节就认真学习一下.首先复习一下Django的整个实现流程 ,然后再实现一下使用数据库的整个流程,最后学习一下 ...
随机推荐
- KNN算法--物以类聚,人以群分
KNN(K Nearest Neighbors,K近邻 )算法是机器学习所有算法中理论最简单,最好理解的.KNN是一种基于实例的学习,通过计算新数据与训练数据特征值之间的距离,然后选取K(K>= ...
- YII 1.0 缓存使用
在main.php的组件components中配置设置添加缓存 'cache'=>array( 'class' => 'system.caching.CFileCache' ), 也就是f ...
- 2015年15+最佳的响应式HTML5网站模板
015年最好的免费响应式HTML5模板通常用于创建新潮的网站. HTML5是HTML用于创建现代化网站的最新版本.随着这一现代标记语言的出现,网上冲浪的趋势变得越来越智能化越来越酷.几乎每个web开发 ...
- jpg图片在开发板上显示
文件IO项目: 在开发板屏幕上循环显示目录里的图片 a.按照一定的间隔循环显示目录里的bmp图片 b.实现手指滑动来显示目录里的图片(bmp,jpg)上一张,下一张 d1: 1.能操控屏幕(查询开发板 ...
- Cracking the code interview
推荐一本书<Cracking the code interview> Now in the 5th edition, Cracking the Coding Interview gives ...
- treegrid.bootstrap使用说明
treegrid.bootstrap使用说明 这个插件是用来做有层次的表格的,大概如图: 官网 http://maxazan.github.io/jquery-treegrid/ 使用这个控件之前需 ...
- jdbc数据连接池dbcp要导入的jar包
jdbc数据连接池dbcp要导入的jar包 只用导入commons-dbcp-x.y.z.jarcommons-pool-a.b.jar
- JDK源码分析-Integer
Integer是平时开发中最常用的类之一,但是如果没有研究过源码很多特性和坑可能就不知道,下面深入源码来分析一下Integer的设计和实现. Integer: 继承结构: -java.lang.Obj ...
- HNOI2002(伸展树)
营业额统计 Time Limit:5000MS Memory Limit:165888KB 64bit IO Format:%lld & %llu Submit Status ...
- 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 ...