django 第二天
进行了前后端简单的链接
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 第二天的更多相关文章
- python django第二弹
每天晚上应该就这样坐着,然后把每天的东西做个总结,或大或小,有的人可能愿意把自己的东西保留在草稿箱,想想我还是把他写出来吧,前几次我发现又遇到了之前遇到的简单的问题,翻看自己之前写的几篇小日记,可以很 ...
- 小白学习django第二站-模版配置
上一站说道app创建,接下来我们来配置app的url路由 首先需要到setting.py中添加book这个app, 再到django_test文件里的urls添加路由 include() : 这个函数 ...
- django 第二天 制作小demo
创建虚拟目录 mkdir ~/virtualenvs mkdir ~/virtualenvs/myprojectenv virtualenv ~/virtualenvs/myprojectenv 激活 ...
- django第二个项目--使用模板
第一步: 创建新项目secondproject cd /tmp/django-admin startproject secondeproject 第二步: 创建一个用于放置模板文件夹 cd /tmp/ ...
- day51 django第二天 django初识
一.模块渲染 jinja2 实现简单的字符串替换(动态页面) 1.下载 pip install jinja2 示例 : html文件中 <!DOCTYPE html> <html ...
- Day 61 Django第二天 (orm数据库操作)
一.get请求和post请求 GET请求: 1. 浏览器请求一个页面 2. 搜索引擎检索关键字的时候 POST请求: 1. 浏览器向服务端提交数据,比如登录/注册等 二 . Django中的APP: ...
- django第二课 网页继承
第一步 创建项目(有问题可以看我的第一个博客) C:\Python36\Scripts\django-admin.py startproject *** (我的写法,仅供参考) 第二步 创建文件夹,同 ...
- django第二次 (转自刘江)
除了我们前面说过的普通类型字段,Django还定义了一组关系类型字段,用来表示模型与模型之间的关系. 一.多对一(ForeignKey) 多对一的关系,通常被称为外键.外键字段类的定义如下: clas ...
- day051 django第二天 django初识\代码
模板渲染 JinJa2 from wsgiref.simple_sever import make_sever from jinjia2 import Template def index(): wi ...
随机推荐
- python中socket、进程、线程、协程、池的创建方式和应用场景
进程 场景 利用多核.高计算型的程序.启动数量有限 进程是计算机中最小的资源分配单位 进程和线程是包含关系 每个进程中都至少有一条线程 可以利用多核,数据隔离 创建 销毁 切换 时间开销都比较大 随着 ...
- rest framework 视图,路由
视图 在上面序列化的组件种已经用到了视图组件,即在视图函数部分进行逻辑操作. 但是很明显的弊端是,对每个表的增删改查加上 单条数据,需要用到 2个类 5个方法(增删改查,单数据查)才可以完整的实现,当 ...
- java extends和implements区别
一.作用说明 extends 是继承某个类, 继承之后可以使用父类的方法, 也可以重写父类的方法; implements 是实现多个接口, 接口的方法一般为空的, 必须重写才能使用 二.补充 JAVA ...
- 【模板】2-SAT 问题
[传送门] 分析 按照逻辑关系建图,跑tarjan,如果上下点在一个环中,说明不可能,不然就可能. 代码 #include <bits/stdc++.h> #define ll long ...
- React Native——react-navigation的使用
在 React Native 中,官方已经推荐使用 react-navigation 来实现各个界面的跳转和不同板块的切换. react-navigation 主要包括三个组件: StackNavig ...
- django restframework jwt
既然要来学习jwt(json web token),那么我们肯定是先要了解jwt的优势以及应用场景--跨域认证. $ pip install djangorestframework-jwt 传统coo ...
- Qt: 非阻塞时间延迟;
1.使用时间耗损循环: #include <QTime> ... QTime delayTime = QTime::currentTime().addMSecs(1000); while( ...
- python中的装饰器迭代器生成器
装饰器: 定义:本质是函数(装饰其它函数) 为其它函数添加附加功能 原则: 1 不能修改被装饰函数源代码 2 不修改被装饰函数调用方式 实现装饰器知识储备: 1 函数即‘’变量‘’ 2 高阶函数 ...
- 金融量化分析【day111】:Pandas-分组与聚合
一.分组与聚合 在数据分析中,我们有时需要将数据拆分,在每一个特定的组里进行运算 1.实验数据准备 a = pd.read_csv('601318.csv') a 数据如下: 实验数据 2.示例 df ...
- 金融量化分析【day113】:多因子选股
一.什么是多因子选股 在股市中征战过的朋友们应该知道,股市之道无非三点.1择时,2选股,3 仓控.精通这三点中的任何一点,都足以在股市中所向披靡.但是精通二字何其艰难!!!矫情的话多不多说,咱们进入正 ...