其实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. 手机端全局样式表整理(mobile)

    @charset "utf-8";/*  * filename:          global.css * description:       全局样式(包含样式重置,公共常用 ...

  2. 【数组】Subsets

    题目: Given a set of distinct integers, nums, return all possible subsets. Note: Elements in a subset ...

  3. JavaScript数据结构-1.数组

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. WPF 使用附加属性增加控件属性

    使用附加属性增加控件属性,使得这个附加属性在使用的时候没有局限性,可以在任何的控件中使用它来增加所需要的属性,使得控件的属性使用起来非常灵活 一.自定义附加属性 using System; using ...

  5. C#定义一个类,并生成属性的例子

    class Person { private string name; private string age; private string job; public Person(string nam ...

  6. SharePoint 2007 form.js兼容性修改

    因SharePoint 2007发布时微软的主要IE的版本是7,所以其中不少的JS是不规范的,在新的IE8 9 10 11等版本中碰到不少的问题,以下是部分的修复,记录下,不断完善. ()语法问题 d ...

  7. Ubuntu 10.10, 11.04, 11.10这三个版本无法从优盘启动

    问题:Ubuntu 10.10, 11.04, 11.10这三个版本无法从优盘启动 解决:从U盘启动安装的时候,会卡住不动.搞定办法相当简单,修改syslinux/syslinuxfg文件:将defa ...

  8. 如何在 Azure 中创建 ASP.NET Web 应用

    Azure Web 应用提供高度可缩放.自修补的 Web 托管服务. 本快速入门演示如何将第一个 ASP.NET Web 应用部署到 Azure Web 应用中. 完成后,便拥有了一个资源组,该资源组 ...

  9. Linux多进程之间的文件锁

    之前对于文件的操作通常在一个进程中完成,最近需要在两个进程中对同一个文件进行操作.故想到了文件锁. Linux下可以使用flock()函数对文件进行加锁解锁等操作.简单介绍下flock()函数: 表头 ...

  10. 05-Servlet与内部加载机制(part1)

     一.什么是Servlet Servlet 运行在服务端的Java小程序, 是sun公司提供一套规范(接口)     主要功能: 用来处理客户端请求 响应给浏览器的动态资源 servlet的实质就是j ...