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. CC2541调试问题记录-第一篇

    1. 在网络环境过于复杂的地方,手机连接不上CC2541.2. 修改CC2541的设备名字. static uint8 scanRspData[] = { // complete name 0x0d, ...

  2. JavaWeb(十三)——使用Session防止表单重复提交

    在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交. 一.表单重复提 ...

  3. [ASP.NET Core] 建置x86版本 (workaround)

    前言 本篇文章介绍如何建置ASP.NET Core项目的x86版本输出(workaround),为自己留个纪录也希望能帮助到有需要的开发人员. ASP.NET Core官网 步骤 首先到微软官网的「. ...

  4. Mysql取消SSH链接和恢复SSH链接

    取消SSH链接//键入密码,链接上mysql mysql -u root -p USE MYSQL; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIF ...

  5. 使用phpMyAdmin管理网站数据库(创建、导入、导出…)

    作为一名站长,最重视的就是网站的数据安全了.本节襄阳网站优化就来讲讲如何使用phpMyAdmin管理软件进行mysql数据库的管理,实现基本的数据库管理用户.数据库的创建.数据的导入和导出操作(网站备 ...

  6. selenium自动化之元素高亮显示

    目的: 在UI自动化的时候,有时候我们需要查看运行的过程.为了更好的显示这个过程,可以进行元素高亮,以显眼的颜色来提示测试人员目前的操作在哪一步. 解决办法: 使用js代码来将元素的背景颜色和边框颜色 ...

  7. 【转】glumer Appium + Python环境搭建(移动端自动化)

    最近整理了一下自动化的东西,好久没搭建环境又踩了不少坑,appium的环境搭建比较繁琐,好多同行估计都在环境上被卡死了.分享一下~~ 一.安装JDK,配置JDK环境    百度搜索下载就行,这里分享一 ...

  8. mybatis 加载配置文件的方法

    一.  使用sqlSessionFactory 的 mapperLocations 进行加载 <!-- SessionFactory --> <bean id="sqlSe ...

  9. python—2.x中如何使用中文

    python2.x 默认使用ASCII编码格式 python3.x 默认使用UTF-8编码格式 在python2.x文件的第一行增加一下代码,解释器会以utf-8编码来处理python文件. # *_ ...

  10. 多重共性和VIF检验

    图片来源https://wenku.baidu.com/view/7008df8383d049649b66581a.html 和 https://wenku.baidu.com/view/6acdf9 ...