进行了前后端简单的链接

view 视图代码如下

from django.shortcuts import render
from django.http import HttpResponse
from django.shortcuts import redirect def s1(request):
return HttpResponse('<h1>hello<h1>') def login(request):
error_msg=""
if request.method=="POST":
user=request.POST.get('user',None)
pwd=request.POST.get('pwd',None)
if user=="root" and pwd=="":
return redirect("http://www.baidu.com")#实现重定向,如果网址写错的话,会自动加到链接的后面
else:
error_msg="用户名或密码错误" return render(request ,'login.html',{'error_msg':error_msg}) # Create your views here.

login页面代码视图如下

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="/static/common.css">
</head>
<body>
<form action="/login/" method="post">
<p>
<label for="username">用户名</label>
<input id="username" name="user" type="text">
</p>
<p>
<label for="password">密码</label>
<input id="password" name="pwd" type="text">{{error_msg}}
<input type="submit" value="提交">
</p>
</form>
</body>
</html>

账号必须是root 密码必须是123 才能够重定向 否则 就会这样

如果符合条件就会跳转到百度


注意细节

post的话,action方法必须/login/ 否则会报错 或者修改setting的文件


又新建了home页面

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/home/" method="post">
<input type="text" name="username" placeholder="用户名">
<input type="text" name="password" placeholder="密码">
<input type="text" name="sex" placeholder="性别">
<input type="submit" value="添加">
</form>
<table>
{% for row in userlist %}
<tr>
<td>{{row.username}}</td>
<td>{{row.password }}</td>
<td>{{row.sex}}</td>
</tr>
{% endfor %}<!-必须加endfor-!>这是模板语言
</table>
</body>
</html>

view 的视图函数如下

def home(request):
if request.method=="POST":
u=request.POST.get('username',None)
p=request.POST.get('password',None)
s=request.POST.get('sex',None)
temp={"username": u,"password": p,"sex":s} userlist.append(temp)
return render(request,'home.html',{"userlist":userlist})#userlist传递给前端页面

  

内容整理

内容整理
1. 创建Django工程
django-admin startproject 工程名 2. 创建APP
cd 工程名
python manage.py startapp cmdb 3、静态文件
project.settings.py STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
) 4、模板路径 DIRS ==> [os.path.join(BASE_DIR,'templates'),] 5、settings中 middlerware # 注释 csrf 6、定义路由规则
url.py "login" --> 函数名 7、定义视图函数
app下views.py def func(request):
# request.method GET / POST # http://127.0.0.1:8009/home?nid=123&name=alex
# request.GET.get('',None) # 获取请求发来的而数据 # request.POST.get('',None) # return HttpResponse("字符串")
# return render(request, "HTML模板的路径")
# return redirect('/只能填URL') 8、模板渲染
特殊的模板语言 -- {{ 变量名 }} def func(request):
return render(request, "index.html", {'current_user': "alex"}) index.html <html>
..
<body>
<div>{{current_user}}</div>
</body> </html> ====> 最后生成的字符串 <html>
..
<body>
<div>alex</div>
</body> </html>
-- For循环
def func(request):
return render(request, "index.html", {'current_user': "alex", 'user_list': ['alex','eric']}) index.html <html>
..
<body>
<div>{{current_user}}</div> <ul>
{% for row in user_list %} {% if row == "alex" %}
<li>{{ row }}</li>
{% endif %} {% endfor %}
</ul> </body> </html> #####索引#################
def func(request):
return render(request, "index.html", {
'current_user': "alex",
'user_list': ['alex','eric'],
'user_dict': {'k1': 'v1', 'k2': 'v2'}}) index.html <html>
..
<body>
<div>{{current_user}}</div> <a> {{ user_list.1 }} </a>
<a> {{ user_dict.k1 }} </a>
<a> {{ user_dict.k2 }} </a> </body> </html> ###### 条件 def func(request):
return render(request, "index.html", {
'current_user': "alex",
"age": 18,
'user_list': ['alex','eric'],
'user_dict': {'k1': 'v1', 'k2': 'v2'}}) index.html <html>
..
<body>
<div>{{current_user}}</div> <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>

内容整理
1. 创建Django工程
django-admin startproject 工程名 2. 创建APP
cd 工程名
python manage.py startapp cmdb 3、静态文件
project.settings.py STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
) 4、模板路径 DIRS ==> [os.path.join(BASE_DIR,'templates'),] 5、settings中 middlerware # 注释 csrf 6、定义路由规则
url.py "login" --> 函数名 7、定义视图函数
app下views.py def func(request):
# request.method GET / POST # http://127.0.0.1:8009/home?nid=123&name=alex
# request.GET.get('',None) # 获取请求发来的而数据 # request.POST.get('',None) # return HttpResponse("字符串")
# return render(request, "HTML模板的路径")
# return redirect('/只能填URL') 8、模板渲染
特殊的模板语言 -- {{ 变量名 }} def func(request):
return render(request, "index.html", {'current_user': "alex"}) index.html <html>
..
<body>
<div>{{current_user}}</div>
</body> </html> ====> 最后生成的字符串 <html>
..
<body>
<div>alex</div>
</body> </html>
-- For循环
def func(request):
return render(request, "index.html", {'current_user': "alex", 'user_list': ['alex','eric']}) index.html <html>
..
<body>
<div>{{current_user}}</div> <ul>
{% for row in user_list %} {% if row == "alex" %}
<li>{{ row }}</li>
{% endif %} {% endfor %}
</ul> </body> </html> #####索引#################
def func(request):
return render(request, "index.html", {
'current_user': "alex",
'user_list': ['alex','eric'],
'user_dict': {'k1': 'v1', 'k2': 'v2'}}) index.html <html>
..
<body>
<div>{{current_user}}</div> <a> {{ user_list.1 }} </a>
<a> {{ user_dict.k1 }} </a>
<a> {{ user_dict.k2 }} </a> </body> </html> ###### 条件 def func(request):
return render(request, "index.html", {
'current_user': "alex",
"age": 18,
'user_list': ['alex','eric'],
'user_dict': {'k1': 'v1', 'k2': 'v2'}}) index.html <html>
..
<body>
<div>{{current_user}}</div> <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>

django 第二天的更多相关文章

  1. python django第二弹

    每天晚上应该就这样坐着,然后把每天的东西做个总结,或大或小,有的人可能愿意把自己的东西保留在草稿箱,想想我还是把他写出来吧,前几次我发现又遇到了之前遇到的简单的问题,翻看自己之前写的几篇小日记,可以很 ...

  2. 小白学习django第二站-模版配置

    上一站说道app创建,接下来我们来配置app的url路由 首先需要到setting.py中添加book这个app, 再到django_test文件里的urls添加路由 include() : 这个函数 ...

  3. django 第二天 制作小demo

    创建虚拟目录 mkdir ~/virtualenvs mkdir ~/virtualenvs/myprojectenv virtualenv ~/virtualenvs/myprojectenv 激活 ...

  4. django第二个项目--使用模板

    第一步: 创建新项目secondproject cd /tmp/django-admin startproject secondeproject 第二步: 创建一个用于放置模板文件夹 cd /tmp/ ...

  5. day51 django第二天 django初识

    一.模块渲染  jinja2 实现简单的字符串替换(动态页面) 1.下载 pip install jinja2 示例 : html文件中 <!DOCTYPE html> <html ...

  6. Day 61 Django第二天 (orm数据库操作)

    一.get请求和post请求 GET请求: 1. 浏览器请求一个页面 2. 搜索引擎检索关键字的时候 POST请求: 1. 浏览器向服务端提交数据,比如登录/注册等 二 . Django中的APP: ...

  7. django第二课 网页继承

    第一步 创建项目(有问题可以看我的第一个博客) C:\Python36\Scripts\django-admin.py startproject *** (我的写法,仅供参考) 第二步 创建文件夹,同 ...

  8. django第二次 (转自刘江)

    除了我们前面说过的普通类型字段,Django还定义了一组关系类型字段,用来表示模型与模型之间的关系. 一.多对一(ForeignKey) 多对一的关系,通常被称为外键.外键字段类的定义如下: clas ...

  9. day051 django第二天 django初识\代码

    模板渲染 JinJa2 from wsgiref.simple_sever import make_sever from jinjia2 import Template def index(): wi ...

随机推荐

  1. 洛谷 P1088 火星人

    https://www.luogu.org/problemnew/show/P1088 这个题一开始是很蒙的 感觉很麻烦,每次都要交换balabala..... 后来才知道有这么一个神奇的stl 真是 ...

  2. AutoMapper入门使用

    AutoMapper入门使用 在应用开发的过程中,首先要了解整个系统中各个系统的组件的作用,然后了解系统的工作流(workflow),最后需要梳理一遍数据流(dataflow),而在整理数据流的过程中 ...

  3. Android Error:Execution failed for task ':app:preDebugAndroidTestBuild'. > Conflict with dependency

    错误内容: Error:Execution failed for task ':app:preDebugAndroidTestBuild'.> Conflict with dependency ...

  4. 一种使用 sprintf 导致死机的情况

    @2019-02-26 [小记] char temp[10] float money; sprintf(temp, "0.2f", money); 以上使用方法可能导致死机,原因是 ...

  5. Kibana登录认证设置

    Kibana从5.5开始不提供认证功能,想用官方的认证,X-Pack,收费滴 . 所以就自己动手吧,用nginx的代理功能了. 1.安装Nginx: [root@ELK /]# yum -y inst ...

  6. 20190211 模拟训练 A. 大猫咪

    好题 2.11考试

  7. go Test的实现 以及 压力测试

    引用 import "testing" 一些原则 文件名必须是 *_test.go* 结尾的,这样在执行 go test 的时候才会执行到相应的代码 必须 import testi ...

  8. nginx日志相关的查询

    IP相关统计 统计IP访问量(独立ip访问数量) awk '{print $1}' access.log | sort -n | uniq | wc -l 查看某一时间段的IP访问量(4-5点) gr ...

  9. SQL随记(三)

    1.关于package: 包的作用:可以将任何出现在块声明的语句(过程,函数,游标,游标,类型,变量)放入包中,相当于一个容器. 包的好处:在包中的(过程,函数,游标,游标,类型,变量)相当于sql/ ...

  10. 第七节:Trigger(SimpleTrigger、CronTrigger)哑火(MisFire)策略 :

    一. 简介 1. 什么是哑火 由于某些原因导致触发器(trigger)在该触发的时候没有得到触发,后续对应的解决策略即为哑火策略.(个人理解) 2. 哑火触发的条件 ①:所有的工作线程都在忙碌,导致某 ...