user-----URL对应关系-------视图函数def func1()--------------

函数给用户返回的实质上就是一个字符串,过程:通过open函数打开HTML,把HTML读到内存中,然后把里面的字符串返回给用户,如果里面有特殊字符的话,会先处理。

views视图可以看作是前端与数据库的中间人,他会将前端想要的数据从数据库中读出来给前端。他也会将用户要想保存的数据写到数据库。

如下如下:

	1.创建Django工程
Django-admin startproject 工程名 mysite
settings.py---主配置文件
urls.py-------URL路由文件
wsgi.py-------网络通信接口
templates-------HTML文件的归置目录
manage.py-------diango管理主程序,如下:
运行Django功能:python manage.py runserver 127.0.0.1:8001
创建APP:python manage.py startapp cmdb
       2.创建APP去处理业务请求,一个工程下面可以有多个APP.相当于一个大型项目中的分系统、子模块、功能部件等等,相互之间比较独立,但也有联系。
所有的APP共享项目资源。 cd 工程名
python manage.py startapp cmdb app目录:
-migrations 数据操作记录,是自动创建的。数据修改表结构
-__init__.py #在python3里面可有可无都行
-__init__.py
-admin.py #django 为我们提供的后台管理。
-apps.py #配置当前App的
-models.py #ORM,写指定的类,通过命令可以创建数据库结构。
-tests.py #单元测试
-views.py #业务代码。这个才是真正写代码的地方,上面的都是做配置的。 3.静态文件配置-在工程下面的setting中,即主配置文件中进行配置,CSS,JS等。
mysite.settings.py,配置如下:
STATICFILES_DIRS=(OS.PATH.JOIN(BASE_DIR,'static'),) #因为是元组,一定要有逗号 4.模板路径配置-在工程下面的setting中,即主配置文件中进行配置,HTML等。
DIRS==> [os.path.join(BASE_DIR,'templates'),] 5.关闭django的跨站请求保护机制-在工程下面的setting中,即主配置文件中进行配置
注释掉:
#'django.middleware.csrf.CsrfViewMiddleware' 6.定义路由规则-在工程下面的urls.py中,即URL路由文件中进行配置
urls.py
'login'--->函数名(只是对应一个函数名,后面是不带括号的) 7.定义视图函数-APP下的views.py中写具体的函数内容。
app->views.py
def func(request): #request中包含客户端发来的请求中的所有内容
#去请求里面取数据
#request.method: GET/POST #获取请求的方式
#request.GET.get('',None) #获取请求发来的数据
127.0.0.1:8000/home?nid=123&name=Jack
#request.POST.get('email',None) 通过视图函数给用户返回数据的3中方法
#return HttpResponse('字符串')
#return render(request,'html模板的路径') 例如:test1/home.html
#return redirect('/只能填URL',) 不能填html模板的路径,只能填URL 8.模板渲染
有一套特殊的模板语言
======{{变量名}} 1). def func(request):
return render(request,'index.html') #发送给用户的是静态的数据 2). def func(request):
return render(request,'index.html',{'current_user':"Jack"}) # index.html
<html> <body>
<div>{{current_user}}</div> #{{current_user}}相当于取变量值
</body>
</html> 步骤:
1>.用户请求来了,首先到达视图函数
2>.视图函数先去把模板拿过来,模板里面有特殊标记,再把值与模板进行渲染,渲染完成之后就变成了字符串。如下:
================最后生成的字符串,整体返回给用户。特殊的标记是在什么时候所做的替换?---视图函数在返回数据的那一刹那之前做的。
所以咱们的浏览器拿到字符串的时候,永远是被渲染完毕的字符串。
<html> <body>
<div>Jack</div>
</body>
</html> ======For循环
def func(request):
return render(request,'index.html',{'current_user':"Jack",'user_list':['alex','eric']}) index.html
<html> <body>
<div>{{current_user}}</div> #{{current_user}}相当于取变量值
<ul>
{% for row in user_list %} #row代表列表中的每一个元素,是一个变量名
<li>{{row}}</li>
{% endfor %}
</ul>
</body>
</html> ======字典索引,注意字典与列表的取法不同,一个用的是角标,一个用的是key值。
def func(request):
return render(request,'index.html',{
'current_user':"Jack",
'user_list':['alex','eric'],
'user_dict'{'k1':'v1','k2':'v2'}}) index.html
<html> <body>
<div>{{current_user}}</div> #{{current_user}}相当于取变量值
<a>{{user_list.1}}</a>
<a>{{user_dict.k1}}</a>
<a>{{user_dict.k2}}</a>
</body>
</html> ======条件======= if可以嵌套if循环,也可以嵌套到for循环里面。
def func(request):
return render(request,'index.html',{
'current_user':"Jack",
'age':18,
'user_list':['alex','eric'],
'user_dict'{'k1':'v1','k2':'v2'}}) index.html
<html> <body>
<div>{{current_user}}</div> #{{current_user}}相当于取变量值
<a>{{user_list.1}}</a>
<a>{{user_dict.k1}}</a>
<a>{{user_dict.k2}}</a> {% if age %}
<a>有年龄</a>
{% if age > 16 %}
<a>老男人</a>
{% else %}
<a>小鲜肉</a>
{% endif %}
{% else %}
<a>没年龄</a>
{% endif %} </body>
</html>

 图标示范:可以一目了然,去哪里配置什么。

 

索引的时候,用的都是点 XX.0,XX.1这样来取元素的。

Django文字教程的更多相关文章

  1. 【秒懂】号称最为简明实用的Django上手教程

    号称最为简明实用的Django上手教程 作者:白宁超 2017年8月24日09:37:35 摘要:Django的学习教程也是分门别类,形式不一.或是较为体系的官方文档,或者风格自由的博客文档,或者偏向 ...

  2. Django 基础教程

    Django 基础教程 这是第一篇 Django 简介 »  Django 是由 Python 开发的一个免费的开源网站框架,可以用于快速搭建高性能,优雅的网站! 你一定可以学会,Django 很简单 ...

  3. 【django入门教程】Django的安装和入门

    很多初学django的朋友,都不知道如何安装django开发以及django的入门,今天小编就给大家讲讲django入门教程. 注明:python版本为3.3.1.Django版本为1.5.1,操作系 ...

  4. 【秒懂】号称最为简明实用的Django上手教程(下)

    号称最为简明实用的Django上手教程(下) 作者:白宁超 2017年8月25日08:51:58 摘要:上文号称[最为简明实用的Django上手教程]介绍了django基本概念.配置和相关操作.相信通 ...

  5. 微信小程序开发语音识别文字教程

    微信小程序开发语音识别文字教程 现在后台 添加插件 微信同声传译 然后app.json 加入插件 "plugins": { "WechatSI": { &quo ...

  6. Django自学教程PDF高清电子书百度云网盘免费领取

    点击获取提取码:x3di 你一定可以学会,Django 很简单! <Django自学教程>的作者学习了全部的 Django英文的官方文档,觉得国内比较好的Django学习资源不多,所以决定 ...

  7. ubuntu部署django详细教程

    教程使用的软件版本:Ubuntu 18.04.1 LTS,django2.0,Python 3.6.5.nginx-1.13.7.uWSGI (2.0.17.1),Ubuntu是纯净的,全新的.下面我 ...

  8. Django笔记&教程 0-1 前言

    Django 自学笔记兼学习教程第0章第1节--前言 点击查看教程总目录 1 最初的想法 自学Django已经有一段时间了,自认收获不少,学的还算可以,然而实际去做项目写代码的时候,很多用法记得不清, ...

  9. django入门教程(下)

    在两篇文章帮你入门Django(上)一文中,我们已经做了一个简单的小网站,实现了保存用户数据到数据库,以及从后台数据库读取数据显示到网页上这两个功能. 看上去没有什么问题了,不过我们可以让它变得更加完 ...

随机推荐

  1. 试用一下markdown

    1 2 3 4 5 6 Blog

  2. Html+CSS 学习第二天

    趁着这两天,将html和CSS基本上学了一遍,大家如果想学习的话,可以百度w3cSchool,进行学习. 基础我就不说了,直接将我做的一个登陆页面放上去.刚学完CSS,写个漂亮的登录界面恶心死我了,感 ...

  3. C#之#if #endif的简单用法

    有时候我们看到别人的代码中有#if #endif,其实这是通过不同版本来选择运行哪段代码,和咱们的if,else是一样的.下面看下简单的用法 #if DEBUG txt_display.Text = ...

  4. 学习HTML 第四节.插入图像

    学习HTML 第四节.插入图像 全是文字的网页太枯燥了吧,我们来搞个图片上去! <!DOCTYPE html><html><head><meta charse ...

  5. Python接口测试实战5(下) - RESTful、Web Service及Mock Server

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  6. Echarts数据可视化全解

    点击进入 Echarts数据可视化全解

  7. “Hello World!”团队第五周第一次会议

    今天是我们团队“Hello World!”团队第五周召开的第一次会议,欢迎我们的新小伙伴刘耀泽同学.博客内容: 一.会议时间 二.会议地点 三.会议成员 四.会议内容 五.Todo List 六.会议 ...

  8. 王者荣耀交流协会-小组互评Alpha版本

    小组分工如下: 1.探路者---贪吃蛇(测评人:王玉玲) 链接:http://www.cnblogs.com/WYLFZ/p/7805520.html    http://www.cnblogs.co ...

  9. (Miller Rabin算法)判断一个数是否为素数

    1.约定 x%y为x取模y,即x除以y所得的余数,当x<y时,x%y=x,所有取模的运算对象都为整数. x^y表示x的y次方.乘方运算的优先级高于乘除和取模,加减的优先级最低. 见到x^y/z这 ...

  10. js正则表达式匹配斜杠 网址 url等

    项目中有个需求,需要从url中截取ID.需要在前台用js匹配截取,所以就百度一下,发现都没有说清楚,所以这里就总结下. 正则表达式如下: var epId=0; //工厂企业ID var urlInd ...