其实Django中的代码逻辑就是和我们以前所学的一些项目差不多

就是 解耦、解耦、解耦

创建过后的Django文件

其中的day68是你的 项目的名字的相同的一个自动生成的文件里面都是放置配置文件类似于url文件

First  是你创建后的存放的类似于views的文件

temolaces 是你以后可以存放关联文件

urlfs放置你的进去的时候分配的路由  就是你进去的时候先通过urls内来分配你接下来需要走哪个视图

views是你urls分配后你再执行这个里面队形的函数

下面是个大体代码:

自带的:

from django.contrib import admin
from django.urls import path from First import views #从First中导入 它的视图文件
# urlpatterns = [
# path('admin/', admin.site.urls),
# ]
from First import views
import re urlpatterns = [
path('admin/',admin.site.urls),
path('timer/',views.timer),
path('login/',views.login), # re_path ('^article') #可以用正则的形式来进行匹配 进行调用视图 用正则的时候可以分组加括号 但是加括号是传递两个参数的 # 这是当你的url输入地址的时候进行匹配的 #分发用inclode就是为了解耦 为了让你自己的url放入自己的url内
]

urls

还要设置配置settings内的环境:

STATIC_URL = '/static/'
STATICFILES_DIRS=[
os.path.join(BASE_DIR,'static'),
] 这是为了能引用static内我们引用jquery这种外部的 文件

app内的视图views

# from django.shortcuts import render
from django.shortcuts import render #这是一个你返回一个渲染后的h
from django.shortcuts import HttpResponse #这个是把你的内容传递到界面上显示
# Create your views here. # HttpResponse(字符串) -----》作为响应体返回
import time
def timer(request):
ctime = time.time() return render(request,"timer.html",{'t':ctime}) """
def login(request):
if request.method == 'POST': #这个是当http协议执行的时候login函数内接收的是post请求还是get请求
user = request.POST.get('user') #因为接收的信息是以字典的形式来存储的那么我们用来获取发送来的信息 这个键是以form表单中的 input中的name来作为键来取值的
pwd = request.POST.get('pwd')
print(user,pwd) if user == '老王' and pwd == '123':
return HttpResponse('登陆成功')
else:
return render(request,'login.html') #如果是get请求就重新执行 login函数 并且login这个文件已经在templates内已经存在 render模块把路径已经建立好了可以直接取查找到 """
#request 其实是接受了ip协议请求的所有的内容 就可以判读你的传递进来的请求是哪种方式
def login(request):
if request.method == 'POST':
user = request.POST.get('user') #这里的post必须大写
pwd = request.POST.get('pwd')
print(user,pwd) if user == '老王' and pwd == '':
return HttpResponse('登陆成功') else:
return render(request,'login.html') #这一步的render相当于打开了login.html然后读取里面的内容 else:
return render(request,'login.html')

Views

templates 下的配置html文件

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> <form action="/login/" method = 'post'>
用户名 :<input type="text" name="user"/>
密码:<input type="password" name="pwd"> <input type="submit">
</form> </body>
</html>

login

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.time{
color:red
}
</style>
{# 这一步的导入 其实是导入的是settings里面的配置的static的信息 就是设置一个静态的路径这个static是别名可以设置#}
<script src="/static/jquery-3.3.1.js"></script>
<script>
window.onload = function(){
$('.time').click(function(){
$(this).css('color','green')
})
}
</script>
</head>
<body>
<h3>当前时间:<span class="time">{{ t }}</span></h3>
</body>
</html>

Django 代码初体验的更多相关文章

  1. Django框架初体验

    前言 从今天开始学习测试开发知识,并会把每一次学习的过程和成果记录到博客,由于我也没怎么接触过python相关的开发框架,所以前期应该是艰难的,但是我相信努力就会有收获,如果你和我一样是个小白,那我们 ...

  2. 中文代码示例之NW.js桌面应用开发初体验

    先看到了NW.js(应该是前身node-webkit的缩写? 觉得该起个更讲究的名字, 如果是NorthWest之意的话, logo(见下)里的指南针好像也没指着西北啊)和Electron的比较文章: ...

  3. django初体验 学习笔记

    django环境搭建     1.安装Python     2.ipython         sudo apt-get install ipython         sudo pip instal ...

  4. Django初体验——搭建简易blog

    前几天在网上看到了篇采用Django搭建简易博客的视频,好奇心驱使也就点进去学了下,毕竟自己对于Django是无比敬畏的,并不是很了解,来次初体验. 本文的操作环境:ubuntu.python2.7. ...

  5. Django3.0 异步通信初体验

    此前博主曾经写过一篇博文,介绍了Django3.0的新特性,其中最主要的就是加入对ASGI的支持,实现全双工的异步通信. 2019年12月2日,Django终于正式发布了3.0版本.怀着无比的期待,我 ...

  6. Django3.0 异步通信初体验(小结)

    2019年12月2日,Django终于正式发布了3.0版本.怀着无比的期待,我们来尝试一下吧! (附ASGI官方文档地址:https://asgi.readthedocs.io/en/latest/e ...

  7. Python 3.8.0 正式版发布,新特性初体验 全面介绍

    Python 3.8.0 正式版发布,新特性初体验 北京时间 10 月 15 日,Python 官方发布了 3.8.0 正式版,该版本较 3.7 版本再次带来了多个非常实用的新特性. 赋值表达式 PE ...

  8. DRF框架之序列化器初体验

    首先,我们需要明白序列化和反序列化的过程指的是什么. 序列化操作:将模型数据 ---> 字典数据 --->JSON数据(响应JSON数据的操作) 反序列化操作:将JSON数据 ---> ...

  9. .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验

    不知不觉,“.NET平台开源项目速览“系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分享出来.今天就给大家 ...

随机推荐

  1. SpringSecurity自定义用户登录

    根据上一节的配置,默认在服务开启的时候会被要求自动的进行表单登陆.用到的用户名只能是一个固定的用户名user,它的密码是每次启动的时候服务器自动生成的.最常见的场景是我们的用户是从数据库中获取的. 1 ...

  2. mvn pom

    使用本地指定目录下jar包 <dependency> <groupId>com.myself.abc</groupId> <artifactId>sam ...

  3. hibernate与ibatis的区别

    Hibernate 是当前最流行的O/R mapping框架,当前版本是3.05.它出身于sf.net,现在已经成为Jboss的一部分了 iBATIS 是另外一种优秀的O/R mapping框架,当前 ...

  4. [PY3]——字符串的分割、匹配、搜索方法总结

    ?分割.匹配.搜索时可以用到什么样的解决方法? 分割方法总结 1. str.split( ) * 分割字符串 * 返回列表 s1='I love python' # 默认以空格为界定符,且多个空格都当 ...

  5. [CPP] Object Based Class

    前言 几年前接触到一款很好玩的RPG游戏,叫作CPP.最近想着怀念一下,又不想干巴巴地去玩.于是乎,我打算写几篇攻略,主要是记录一下游戏中一些奇妙的点.游戏的第一章是面向对象程序设计,其中又分为基于对 ...

  6. 【TCP协议】MTU和MSS详解

    需要注意的是,区别两种帧封装格式:802标准帧和以太网帧 1,在802标准定义的帧格式中,长度字段是指它后续数据的字节长度,但不包括C R C检验码.RFC 1042(IEEE 802) 2,RFC ...

  7. 【OpenCV】邻域滤波:方框、高斯、中值、双边滤波

    原文:http://blog.csdn.net/xiaowei_cqu/article/details/7785365 邻域滤波(卷积)   邻域算子值利用给定像素周围像素的值决定此像素的最终输出.如 ...

  8. C++ 语法积累20161015

    1.break 作用:用于终止当前循环(跳出循环体). 遇到最多的应该是在双层循环体中的使用: (1)在内循环体中,遇到break,则直接跳出内循环体,再次执行外循环体. (2) 在外循环体中,bre ...

  9. csharp:FlowLayoutPanel

    /// <summary> /// 集合添加的控件 /// 涂聚文20150339 /// </summary> public void AddNewTextBox() { P ...

  10. sql:sql server,MySQL,PostgreSQL的表,视图,存储过程结构查询

    sql server 2005: --SQL SERVER 2005 生成代码需要知道的SQL语句 use LibrarySystem --查询当前数据库所有表和其的主键字段,字段类型,长度,是否为空 ...