【Django1】基本知识,URL映射,视图渲染,模板应用
来源:互联网 发布:程序员的自我修养pdf 编辑:程序博客网 时间:2024/06/03 12:25
python版本3.5,django版本1.10
1 新建项目
django-admin.py startproject website2
2 启动服务器,查看是否正常
manage.py runserver
3 进入工程website2一级文件夹下新建app
python manage.py startapp demo
4 将新建立的app加入工程中
修改 website2/website2/settings.py的INSTALL_APPS,将app名称加入该元组中。
5 编写app视图文件
在/demo/views.py文件中增加函数index,render为渲染函数
from django.shortcuts import render# Create your views here.def index(request):pageTitle = '首页'return render(request, 'demo/index.html', {'strTemp':pageTitle})render第三个参数是views.py向html传递的内容,默认是字典格式,{'strTemp':pageTitle}中strTemp是html中变量名,pageTitle则是该变量的值。
传递list时,只需令pageTitle = [‘as’, ‘df’, ‘gh’,‘jk’]
然后在html中读取即可
{% for i in strTemp%}
{{ i }}
{% endfor %}
详细见http://www.ziqiangxuetang.com/django/django-template2.html
6 编写html文件
<!DOCTYPE html><html><head> <title>{{strTemp}}</title></head><body>{{strTemp}}</body></html>
用 {{ 变量}}直接得到变量的值,用 {% %}编写循环/判断等语句
文件目录如下
website2├── demo│ ├── __pycache__│ ├── migrations│ ├── templates│ │ └── demo│ │ ├── index.html│ ├── __init__.py│ ├── admin.py│ ├── apps.py│ ├── models.py│ ├── tests.py│ └── views.py├── manage.py├── db.sqlite3└── website2 ├── __init__.py ├── settings.py ├── urls.py └── wsgi.py
7 URL映射,将网址对应到views.py文件
修改/website2/website2/urls文件
from django.conf.urls import urlfrom django.contrib import adminfrom demo import views as demo_viewsurlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^$', demo_views.index, name='index'),]
8 运行服务器
下面在上文的基础上,做一个网页加法器
============================================================================================
============================================================================================
修改index.html
<!DOCTYPE html><html><head><title>网页加法器</title></head><body> <form action="/add/" method="get"> a: <input type="text" name="num1"> <br> b: <input type="text" name="num2"> <br> <input type="submit" value="提交"></form>结果:{{sum}}</body></html>
修改视图文件views.py
from django.shortcuts import render# Create your views here.def index(request):return render(request, 'demo/index.html')def add(request):num1 = request.GET['num1']num2 = request.GET['num2']sum = int(num1)+int(num2)return render(request, 'demo/index.html', {'sum':sum})
增加URL映射
from django.conf.urls import urlfrom django.contrib import adminfrom demo import views as demo_viewsurlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^$', demo_views.index, name='index'), url(r'^add/', demo_views.add, name='add'),]
结果如下:
- 【Django1】基本知识,URL映射,视图渲染,模板应用
- 啦啦啦啦~Django1.96---Django的模板渲染(render)机制
- Django1.7.2+Bootstrap3.3.0 整合五:模板与视图
- RequestMapping的映射URL模板
- spring中的url模板映射
- springMvc中的Url模板映射
- 【转】数据库基本知识:(五)视图应用
- URL-基本知识
- Django1.7模板API
- twig 模板引擎使渲染视图更加优雅
- 微信小程序入门-事件冒泡、模板、视图渲染
- 【URL】URL基本知识
- 视图渲染
- mysite下的url 映射到news下的视图
- Android显示框架:Activity应用视图的渲染流程
- 渲染模板
- 模板 渲染
- 渲染模板
- HBase因节点时间不同步无法启动regionserver
- jQuery-File-Upload(blueimp)爬坑指南
- PPTV成为 2017 赛季中超新媒体独家合作伙伴
- 通过axure做原型设计生成的html代码可以让开发直接用吗
- Java 常用工具类
- 【Django1】基本知识,URL映射,视图渲染,模板应用
- Codeforces Round #396 (Div. 2) D. Mahmoud and a Dictionary 并查集
- 移动端布局之REM,以及实际使用总结
- Java 随机生成六位数验证码
- Android studio 自学笔记(一) 自定义 Dialog
- 数组作为函数参数传递时
- js/jquery 无刷分页通用代码
- ASM 翻译系列第三十七弹:ASM密码文件目录
- [LeetCode]Total Hamming Distance(Java)