一、初识Django
自称MTV框架。和传统的MVC大同小异。
M指数据模型(Model),T指模板(Template),用来描述数据的展现。V指的是视图(View),并且,在Django中可以通过URL分发器对URL和View之间的映射进行配置,而View则URL分发器回调启动server

python manage.py runserver
可以更改本地端口:
python manage.py runserver 8080
还可以设置成允许公开的互联网连接
python manage.py runserver 127.0.0.1:8000
这样只要在别人的浏览器中输入你的服务器的IP和端口就可以访问了
http://127.0.0.1:8000

还需要在settings.py中定义模板所在的路径,记住用引号标识路径字符串


Django服务器一般情况下会自动重载你的每一次修改,但对新创建的操作不会重载,所以还是要重启服务器。

(1)Django的简单流程
1. 一个来自/hello/的请求
2. 检查settings.py中ROOT_URL_CONF属性所设定的映射配置信息
3. 找到第一个匹配/hello/的配置
4. 如果找到,就调用相关联的view函数
5. view函数返回HttpResponse对象
6. Django把HttpResponse对象转化成相应的HTTP response,形成网页
URL映射
Django是在urls.py中,把URL访问映射到views.py模块中相应的响应函数。
函数的特点的,第一个参数一定是requrest(HTTPRequest对象),返回要是HttpResponse

至于映射的方式是采用正规表达式。
urlpatterns = patterns('',
('^hello/$', hello),
)
Django对访问的URL地址,首先会去掉8080后面的"/",然后进行URL映射分析。
这里要注意的是尾部的"/",理论上你输入地址时不加上的话,会发生跳转错误,因为
无法映射到这个URL,但Django设置中有一个参数APPEN_SLASH=True的话,Django
会自动帮你加上尾部的"/";当它设置成False时,那就会报错提交报错:URL doesn'tend in a slash and you have APPEND_SLASH set.。

还有要记得一旦设置你自定义气URL映射信息,Django就不会让localhost:8000/这个根路径
返回It works那样的默认信息,根路径的页面也需要你自己设置一下
(r'^/$', your_homepage_view)

当在路径匹配的正则表达式中使用括号,就意味着可以向view函数传入额外的参数。
(r'^/puls/(\d{1,3})$', your_homepage_view)
def your_homepage_view(request, offset):
#offset就是匹配的\d{1,3}的字符串。

二、第一个django程序
1. 创建一个django工程
django-admin.py startproject helloworld
目前windows下我只发现用这样的命令可以成功创建project。。。这样就会在当前目录下创建一个helloworld工程文件夹。


2. 创建views.py文件
在工程文件夹根目录创建views.py文件,其实任意文件名都可以,使用views是为了遵循传统。
在里面输入:
from django.http import HttpResponse

#所有的views函数都需要以request对象作为第一个参数
#它是请求类HttpRequest对象,包含了用户的请求信息。
#可以以http代码为参数进行初始化
def hello(request):
#返回HttpResponse对象
return HttpResponse("<html><body><h1>Hello world</h1></body></html>")

3. 在工程文件夹中自动生成的urls.py中配置路径
需要加入两行
from views import hello

urlpatterns = patterns('',
url(r'^hello/$', hello), #记得输入这个逗号
)

4. 启动服务器,并在浏览器中查看结果
在工程文件夹根目录下输入命令
python manage.py runserver
启动服务器

并在浏览器中输入网址http://localhost:8000/hello/

三、模板使用
模板基本由两个部分组成,一是HTML代码,二是逻辑控制代码。
逻辑控制的实现又基本由三个部分组成:
1. 变量的使用
{{ person_name }} #使用双大括号来引用变量
2. tag的使用
{% if ordered_warranty %} #使用大括号和百分号的组成来表示使用Django提供的
template tag
{% for item in item_list %}
<li>{{ item }}</li>
{% endfor %}

使用python manage.py shell启动python交互式命令行窗口与一般直接启动python自带的
交互式命令行窗口的区别是前者会通过找一个DJANGO_SETTINGS_MODULE环境变量,
告诉Django导入settings.py的配置信息。

template inheritance.
首先,创建base.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en">
<head>
<title>{% block title %}{% endblock %}</title>
</head>
<body>
<h1>My helpful timestamp site</h1>
{% block content %}{% endblock %}
{% block footer %}
<hr>
<p>Thanks for visiting my site.</p>
{% endblock %}
</body>
</html>

我们使用一个新的tag,{% block %}用来告诉template engine,这个部分会被子模板
来实现。如果子模板没有实现这些部分,就会默认使用父模板的代码。

子模板:
{% extends "base.html" %}

{% block title %}The current time{% endblock %}

{% block content %}
<p>It is now {{ current_date }}.</p>
{% endblock %}
只需要先使用{% extends %}继承父模板,再把相应需要实现的部分写上所需要的内容。

{% extends template_name %}也可以使用变量名来实现动态。
模板继承的三层继承策略:
1. 创建一个base.html,用来设置外观
2. 为网站的每一个部分,创建base_SECTION.html,比如base_phote.html, base_forum.html
3. 为每一个页面创建自己的模板。

转载于:https://www.cnblogs.com/feiyu_Team/p/6654147.html

django安装与简介相关推荐

  1. [转]Django REST framework 简介与中文教程

    Django REST framework 简介与中文教程 简介 在序列化与反序列化时,虽然操作的数据不尽相同,但是执行的过程却是相似的,也就是说这部分代码是可以复用简化编写的. 在开发REST AP ...

  2. CentOS7下Django安装

    Django安装介绍 安装环境: CentOS7 安装Django比较简单,但需要安装其依赖的东西,还是需要一定时间的.我使用的环境是CentOS Linux release 7.3.1611. 内核 ...

  3. django安装初步使用命令整理

    1 pip install Django 2 cd C:\Anaconda2\Lib\site-packages\django\bin\ 3 python django-admin.py startp ...

  4. Django安装使用基础

    安装Django pip3 install django windows安装后,添加Django安装路径的环境变量. 1.创建Django工程 django-admin startproject [工 ...

  5. Django安装与使用

    Django安装 Django属于第三方库,因此需要安装. 安装命令: pip install django 下载缓慢的话可以通过阿里源安装: pip install -i http://mirror ...

  6. linux查找influx的安装位置,InfluxDB学习之InfluxDB的安装和简介 | Linux大学

    最近用到了 InfluxDB,在此记录下学习过程,同时也希望能够帮助到其他学习的同学. 本文主要介绍InfluxDB的功能特点以及influxDB的安装过程.更多InfluxDB详细教程请看:Infl ...

  7. Postman和postwoman安装及简介

    Postman和postwoman安装及简介 在 Web 项目中,大部分采用的都是前后端分离的开发模式,前后端通过接口来进行数据交互.后端实现的接口非常多,每个接口都要通过测试来保证功能正常. 项目是 ...

  8. pythondjango教程_Python 中Django安装和使用教程详解

    一.安装 一般使用cmd 安装就可以 手动安装通过下载方式 二.配置使用 1.通过cmd新建一个项目,我是在桌面新建 上面命令会在桌面新建pythonDjango文件夹,在里面会生成如下图两个文件 m ...

  9. Django安装与开发虚拟环境搭建01

    Django是一款基于python的MVT的web开发框架(m表示model,主要用于对数据库层的封装  ,v表示view,用于向用户展示结果,c表示controller,是核心,用于处理请求.获取数 ...

最新文章

  1. 【2016年第6期】中国科学院科学数据云建设与服务
  2. 42 FI配置-财务会计-固定资产-组织结构-将折旧表分配至公司代码
  3. Qt编写大数据大屏UI电子看板系统
  4. 字节AI LAB NLP算法二面凉+被捞后通过
  5. html页脚显示不出来,CSS实例:让页脚保持在未满屏页面的底部
  6. JavaScript中this关键字的使用比较
  7. spring-第十一篇之SpEL表达式
  8. matlab2017b安装之后点桌面图标黑框闪退
  9. java soap服务_「java调用webservice」java调用webservice接口 三种方法 - seo实验室
  10. SpringBoot2.0学习第四篇之拦截器过滤器配置
  11. Oracle 多行显示在一行详解(listagg)
  12. windows下的gitbub使用入门
  13. 线性回归——加州房价预测
  14. uni-app 获取手机设备各项信息
  15. 近千万EOS被盗事件回顾,大家请保护好自己的EOS私钥
  16. MySQL--SQL执行顺序详解
  17. 备份数据 宝塔linux_宝塔面板教程大全--宝塔linux面板数据备份教程
  18. 【ESP 保姆级教程】 自定义库篇 ——FeiShuMessageIoTSDK,支持简单快速接入飞书消息提醒,方便接入告警服务(模拟西游记经典对白)
  19. DICOM医学图像处理:二零一四▪DICOM专栏一览
  20. Web测试需要兼顾的测试要点有哪些?

热门文章

  1. html语言机标记椒用来调字体的,HTML语言 之 字体标记
  2. python分布爬虫_13天搞定Python分布爬虫(第七天)(Scrapy)
  3. python写前端和js_Python【13】【前端编程】- JS基础
  4. android立体3D效果_怀化400T吨龙门剪图纸3d模型_临沂1500T吨剪图纸原理图-皇宏液压...
  5. 学生信息管理系统c语言课设,学生信息管理系统C语言课设.doc
  6. scanner 获取控制台信息_Java使用Scanner类进行控制台输入实现方法
  7. 【BZOJ1013】球形空间产生器,第一次的高斯消元
  8. 二叉树C++ | 链表递归实现二叉树(插入、搜索)_1
  9. python中o_Python O
  10. 2017.9.22 小约翰的游戏John 失败总结