热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

django实例流程

学习笔记(django简单流程):urls.py的代码:用户输入url然后给url.py去处理,我的url.py是这样:fromdjango.contribimportadminf

学习笔记(django简单流程):

urls.py的代码:

 

技术分享图片

用户输入url然后给url.py去处理,我的url.py是这样:

 

技术分享图片技术分享图片

from django.contrib import admin
from django.urls import path
from blog import views
urlpatterns
= [
path(
admin/, admin.site.urls),
path(
cur_time/,views.cur_time),
path(
userInfo,views.userInfo)
]


View Code

 

那么django内部会利用循环遍历去找用户所输入的路径,假设用户输入的是"127.0.0.1:端口号/cur_time",则对应的会去执行views下边的cur_time函数。

views.py的函数:

技术分享图片技术分享图片

from django.shortcuts import render,HttpResponse
import datetime
from blog import models
def cur_time(request):
times
= datetime.datetime.now()
# return HttpResponse(‘

ok

‘)
return render(request,cur_time.html,{abc:times})#render是渲染的意思
# user_list = []
def userInfo(req):
#要判断req是post还是get
# req.POST :{‘username‘:xxx, ‘sex‘:xxx}
if req.method==POST:
u
= req.POST.get(username,None) #有就取username的值 无就取None
s = req.POST.get(sex, None)
e
= req.POST.get(email, None)
# user = {‘username‘:username,‘sex‘:sex,‘email‘:email}
# user_list.append(user)

models.UserInfo.objects.create(
username
=u,
sex
=s,
email
=e,
#往数据库里面插入信息
)
user_list
= models.UserInfo.objects.all()
return render(req,index.html,{user_list:user_list})

View Code

小白需要注意的点:

return render(request,cur_time.html,{abc:times})

render的request携带着很多信息,类似之前学的wsgi的environ参数,第二个参数是html文件参数,用来对页面进行渲染给用户看,而第三个参数是个字典形式,

{‘abc‘:times}是指将html文件里的{{abc}}换成后端给他传过去的times,这样就简单实现了前后端交互动作。

 

views.py里面还可以对数据库进行操作,这里示例:当用户在浏览器输入相关信息时将这些信息给存到数据库里面,那么就要在models.py做相关操作:

技术分享图片技术分享图片

from django.db import models
class UserInfo(models.Model):
username
= models.CharField(max_length=64)
sex
= models.CharField(max_length=64)
email
= models.CharField(max_length=64)


View Code

然后再在views.py引入model的这个UserInfo类对这个类进行信息插入。

对上面views.py的相关代码进行截取如下:

技术分享图片技术分享图片

models.UserInfo.objects.create(
username
=u,
sex
=s,
email
=e,
#往数据库里面插入信息
)
user_list
= models.UserInfo.objects.all()
return render(req,index.html,{user_list:user_list})


View Code

 

下面附cur_time.html和index.html文件代码:

技术分享图片cur_time.html

技术分享图片技术分享图片

DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
head>
<body>
<form action="/userInfo" method="post">
<p>姓名<input type="text" name="username">p>
<p>性别<input type="text" name="sex">p>
<p>邮箱<input type="text" name="email">p>
<p><input type="submit" name="submit">p>
form>
<hr>
<h1>数据显示h1>
<table border="1px">
<tr>
<td>姓名td>
<td>性别td>
<td>邮箱td>
tr>
{# user_list=[{‘username‘:username,‘sex‘:sex,‘email‘:email},{},{}]#}
{% for i in user_list %}
<tr>
<td>{{ i.username }}td>
<td>{{ i.sex }}td>
<td>{{ i.email }}td>
tr>
{% endfor %}
table>
body>
html>


index.html

 

还有一个需要注意的点,就是这里涉及到一个模板操作(如何在html文件进行for循环操作):

用{%%}来包含for循环  用{%endfor%}结束for循环

示例代码如下:

{% for i in user_list %}

{{ i.username }}
{{ i.sex }}
{{ i.email }}

{
% endfor %}

 


推荐阅读
  • 如何在IDEA中安装和配置反编译插件以提高代码审查效率
    在 IntelliJ IDEA 中提升代码审查效率的一种方法是安装和配置反编译插件。首先,进入 IDEA 的设置界面,然后导航到插件管理部分。接下来,搜索 "ideaJad" 插件并进行安装。安装完成后,重启 IDEA 以确保插件生效。这将帮助你在审查二进制文件时更加高效地查看源代码。 ... [详细]
  • Git基础操作指南:掌握必备技能
    掌握 Git 基础操作是每个开发者必备的技能。本文详细介绍了 Git 的基本命令和使用方法,包括初始化仓库、配置用户信息、添加文件、提交更改以及查看版本历史等关键步骤。通过这些操作,读者可以快速上手并高效管理代码版本。例如,使用 `git config --global user.name` 和 `git config --global user.email` 来设置全局用户名和邮箱,确保每次提交时都能正确标识提交者信息。 ... [详细]
  • 为了在Fragment中直接调用Activity的方法,可以通过定义一个接口并让Activity实现该接口来实现。具体步骤包括:首先在Fragment中声明一个接口,并在Activity中实现该接口。接着,在Fragment中通过类型转换检查Activity是否实现了该接口,如果实现了则调用相应的方法。这种方法不仅提高了代码的解耦性,还增强了模块间的通信效率。此外,还可以通过ViewModel或LiveData等现代Android架构组件进一步优化这一过程,以实现更加高效和可靠的通信机制。 ... [详细]
  • 在ASP.NET MVC项目中,通过实战解决了Ajax请求500错误及多表数据查询的问题。具体而言,将页面分为两个部分,用户点击右侧导航栏时,通过Ajax请求动态加载数据,并在右侧显示相应的页面内容。最初尝试使用Partial Action方法,但遇到了500错误。通过详细排查和调试,最终成功解决了这一问题,并实现了预期功能。此外,还优化了多表数据查询的性能,确保系统的高效运行。 ... [详细]
  • 尽管许多人认为跑步是一项简单的运动,但实际上它涉及诸多专业知识。不正确的跑步方式不仅会降低锻炼效果,还可能引发伤害。例如,穿着不合脚或过于陈旧的跑鞋,会导致足部支撑不足,增加受伤风险。此外,跑步姿势不当、热身不足、过度训练等问题也同样值得关注。本文将详细介绍七大常见跑步误区,并提供专业的改进建议,帮助跑者避免这些问题,提高运动效率和安全性。 ... [详细]
  • 本文深入探讨了 iOS 开发中 `int`、`NSInteger`、`NSUInteger` 和 `NSNumber` 的应用与区别。首先,我们将详细介绍 `NSNumber` 类型,该类用于封装基本数据类型,如整数、浮点数等,使其能够在 Objective-C 的集合类中使用。通过分析这些类型的特性和应用场景,帮助开发者更好地理解和选择合适的数据类型,提高代码的健壮性和可维护性。苹果官方文档提供了更多详细信息,可供进一步参考。 ... [详细]
  • 本文详细探讨了Java集合框架的使用方法及其性能特点。首先,通过关系图展示了集合接口之间的层次结构,如`Collection`接口作为对象集合的基础,其下分为`List`、`Set`和`Queue`等子接口。其中,`List`接口支持按插入顺序保存元素且允许重复,而`Set`接口则确保元素唯一性。此外,文章还深入分析了不同集合类在实际应用中的性能表现,为开发者选择合适的集合类型提供了参考依据。 ... [详细]
  • Vuex 实战进阶:构建高效笔记本应用(第二篇)
    在上一篇文章中,我们初步探讨了 Vuex 在该项目中的应用。本文将深入解析整个项目的架构设计。首先回顾 `main.js` 的内容,然后重点分析 `App.vue` 文件,其中引入了 `Toolbar.vue` 和 `NodeList.vue` 组件,详细说明它们在应用中的作用和交互方式。通过这些组件的协同工作,我们将展示如何构建一个高效且响应迅速的笔记本应用。 ... [详细]
  • 在执行 Vim/VM 命令时遇到错误提示:检测到名为
    在使用 Docker 时,通过 Vim 编辑 Dockerfile 文件时遇到了错误提示:“检测到名为 .dockerfile.swp 的交换文件”。这一问题通常是因为上次编辑该文件时意外中断,导致系统生成了临时的交换文件。为了解决这个问题,可以手动删除该交换文件或使用 Vim 的恢复功能来恢复未保存的更改。 ... [详细]
  • Spring Security 认证模块的项目构建与初始化
    本文详细介绍了如何构建和初始化Spring Security认证模块的项目。首先,通过创建一个分布式Maven聚合工程,该工程包含四个模块,分别为core、browser(用于演示)、app等,以构成完整的SeehopeSecurity项目。在项目构建过程中,还涉及日志生成机制,确保能够输出关键信息,便于调试和监控。 ... [详细]
  • 新年伊始,正是学习的最佳时机。本文全面解析了CK1957-Zookeeper的核心概念与实践技巧,旨在帮助初学者快速掌握这一深度学习工具。通过详细的理论讲解和实际操作示例,读者可以更好地理解Zookeeper的工作原理及其在分布式系统中的应用。无论是新手还是有一定基础的学习者,都能从中受益匪浅。 ... [详细]
  • 探究Oracle数据库字符集编码的详细方法与实践
    本文深入探讨了Oracle数据库字符集编码的详细方法与实践。首先,通过执行 `SELECT USERENV('language') FROM DUAL;` 查询服务端字符集编码。其次,通过在注册表中搜索 `NLS_LANG` 参数来查看客户端字符集编码。此外,文章还介绍了如何在不同场景下正确配置和转换字符集,以确保数据的一致性和完整性。 ... [详细]
  • 斐波那契数在组合数学中的应用与探索
    斐波那契数列作为数学领域中一个广为人知的数列,不仅拥有丰富的数学性质,还与自然界的诸多现象紧密相连。本文将深入探讨这一数列背后的奥秘,揭示其在组合数学中的广泛应用,并通过具体问题的引入,展示斐波那契数列在解决复杂组合问题时的独特优势。 ... [详细]
  • Jenkins学习精华:自动化构建与持续集成入门指南
    本文综合了网络资源及同事分享的PPT内容,详细介绍了Jenkins在自动化构建与持续集成中的应用。首先涵盖了Jenkins的安装与配置流程,接着阐述了如何根据项目需求设定自动化编译任务,包括确定开发环境、选择合适的编译工具以及实现代码的自动更新等关键步骤。特别强调了在SVN环境中通过命令行实现代码自动拉取的最佳实践。 ... [详细]
  • 当前,众多初创企业对全栈工程师的需求日益增长,但市场中却存在大量所谓的“伪全栈工程师”,尤其是那些仅掌握了Node.js技能的前端开发人员。本文旨在深入探讨全栈工程师在现代技术生态中的真实角色与价值,澄清对这一角色的误解,并强调真正的全栈工程师应具备全面的技术栈和综合解决问题的能力。 ... [详细]
author-avatar
名禅
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有