Django学习记录:初步认识django以及实现了简单的网页登录页面的前后端开发

这篇具有很好参考价值的文章主要介绍了Django学习记录:初步认识django以及实现了简单的网页登录页面的前后端开发。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Django学习记录:初步认识django以及实现了简单的网页登录页面的前后端开发

1、可以先删去template文件夹,并在setting里面删掉这一行

Django学习记录:初步认识django以及实现了简单的网页登录页面的前后端开发,Python,django,学习,python

2、在pycharm中创建app:

Django学习记录:初步认识django以及实现了简单的网页登录页面的前后端开发,Python,django,学习,pythonDjango学习记录:初步认识django以及实现了简单的网页登录页面的前后端开发,Python,django,学习,python
Django学习记录:初步认识django以及实现了简单的网页登录页面的前后端开发,Python,django,学习,python

3、启动app:编写URL与视图函数关系【urls.py】

​ 编写视图函数【views.py】

​ 启动pycharm项目
Django学习记录:初步认识django以及实现了简单的网页登录页面的前后端开发,Python,django,学习,python

4、引用静态文件

Django学习记录:初步认识django以及实现了简单的网页登录页面的前后端开发,Python,django,学习,python

其中有两个文件的导入:(jquery和bootstrap)

jquery:https://code.jquery.com/jquery-3.6.0.min.js 可以直接复制下来创建记事本保存并更改为js文件即可使用。

bootstrap:https://v3.bootcss.com/getting-started/#download 可以在该网站直接下载,但下载端在github。(有需要的也可以私信我)


模板语法

视图函数的render内部:

1.读取含有模板语法的HTML文件

2.内部进行渲染(模板语法执行并替换数据),最终得到只包含HTML标签的字符串。

3.将渲染(替换)哇长城的字符串返还给用户浏览器

views.py下的代码:

from django.shortcuts import render,HttpResponse

# Create your views here.
def index(request):
    return HttpResponse("欢迎使用")

def user_list(request):
    # 1.如果未删除默认setting中dirs那行代码,则有限去项目根目录的templates中寻找(提前先配置)【不配置就是无效】
    # 2.根据app的注册顺序,在每个app下的templates目录中寻找【更改设置后】

    return render(request, "user_list.html")

def user_add(request):
    return render(request, "user_add.html")


def tpl(request):
    name = "饺子"
    # 列表,元组与列表相同
    role =["保安","CEO","管理员"]
    # 字典
    user_info={"name":"包子","salary":10000,"role":"CTO"}

    data_list=[
        {"name": "包子", "salary": 10000, "role": "CTO"},
        {"name": "馒头", "salary": 10000, "role": "CTO"},
        {"name": "馄饨", "salary": 10000, "role": "CTO"},
    ]

    return render(request, "tpl.html", {"n1":name, "n2":role,"n3":user_info,"n4":data_list})

tpl.html下的代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>模板语法的学习</h1>
<div>{{ n1 }}</div>
<div>{{ n2 }}</div>
<div>{{ n2.0 }}</div>
<div>{{ n2.1 }}</div>
<div>{{ n2.2 }}</div>
<div>
    {% for item in n2 %}
        <span>{{ item }}</span>
    {% endfor %}
</div>
<hr/>
{{ n3 }}
{{ n3.name }}
{{ n3.role }}
<ul>
    {% for k,v in n3.items %}
        <li>{{ k }}={{ v }}</li>
    {% endfor %}
</ul>

<hr/>
{{ n4.0 }}
{{ n4.1.name }}
    {% for item in n4 %}
        <div>{{ item.name }}  {{ item.salary }}</div>
    {% endfor %}

<hr/>
{% if n1 == "饺子" %}
    <h1>dadadadada</h1>
{% else %}
    <h1>dududududu</h1>
{% endif %}

</body>
</html>

网页端显示:

请求和相应

def sth(request):
    # request是一个对象,封装了用户发送过来的所有请求相关数据

    # 1.获取请求方式 GET/POST
    print(request.method)

    # 2.在URL上传递值(即在网址后面添加:/sth/?n1=123&n2=999,则会传回n1,n2对应的值)
    print(request.GET)

    # 3.在请求体中提交数据
    print(request.POST)

    # 4. (响应)HttpResponse("返回内容"),内容字符串内容返回给请求者
    # return HttpResponse("返回内容")

    # 5.(响应)读取HTML的内容 + 渲染(替换) —> 字符串,返回给用户浏览器
    # return render(request,'sth.html',{"title":"来了"})

    # 6.(响应)让浏览器重定向到其他的页面
    return redirect("http://www.baidu.com")

登录界面的编写

def login(requset):
    if requset.method == "GET":
        return render(requset, "login.html")

    # 如果是POST请求,获取用户提交的数据
    # print(requset.POST)
    username = requset.POST.get("user")
    password = requset.POST.get("pwd")

    if username == 'root' and password == "123":
        # return HttpResponse("登陆成功")
        return redirect("https://www.bbac.com.cn/cn/")
    # 可删去else,以省略嵌套。
    else:
        # return HttpResponse("登陆失败")
          return render(requset, 'login.html', {"error_msg": "用户名或密码错误"})
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<h1>用户登录</h1>
<form method="post" action = "/login/">

    {% csrf_token %}

    <input type = "text" name = "user" placeholder="用户名">
    <input type = "password" name = "pwd" placeholder="密码">
    <input type = "submit" value="提交">
    <span style="color:red;"> {{ error_msg }}</span>

</form>

</body>
</html>

登录失败:则如下界面;登录成功,则跳转网页。

课程来源:
2022 B站最详细django3教程(django从入门到实践)文章来源地址https://www.toymoban.com/news/detail-621542.html

到了这里,关于Django学习记录:初步认识django以及实现了简单的网页登录页面的前后端开发的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Django实现简单的音乐播放器 2

     在《Django实现简单的音乐播放器 1》前期准备的基础上开始开发。  效果: 目录 项目视图 创建视图方法 路由加载视图 加载模板 创建首页html文件 加载静态资源文件 加载静态文件 使用方法 启动服务器 加载数据表 创建表模型 生成表迁移 执行创建表 插入表数据 播放歌曲列

    2024年02月12日
    浏览(29)
  • Django实现简单的音乐播放器 1

    使用django框架开发一个简单的音乐播放器。 效果: 目录 环境准备 安装django 创建项目 创建应用 注册应用 配置数据库 设置数据库配置 设置pymysql库引用 创建数据库 创建数据表 生成表迁移文件 执行表迁移 配置时区 配置语言 配置子应用路由 在player应用目录下创建urls.py文件

    2024年02月12日
    浏览(31)
  • Django实现简单的音乐播放器 3

     在原有音乐播放器上请求方式优化和增加加载本地音乐功能。 效果: 目录 播放列表优化 设置csrf_token 前端改为post请求 视图端增加post验证 加载歌曲 视图 设置路由 模板 加载layui css 加载layui js 增加功能列表 功能列表脚本实现 最终效果 总结 原有get请求改为post请求。 设置

    2024年02月12日
    浏览(33)
  • Django实现简单的音乐播放器 4

    在原有音乐播放器功能基础上,增加上传音乐功能。  效果: 目录 配置上传路径 配置路由 视图处理歌曲 引入类库 保存歌曲文件 模板上传 设置菜单列表 设置菜单列表样式 脚本设置 上传效果 1.显示菜单列表 2.点击上传歌曲 3.上传完成 4.查看保存文件 增加数据库操作 修改验

    2024年02月15日
    浏览(34)
  • 四、Django编写简单的接口实现前后端交互

    目录 四、Django编写简单的接口实现前后端交互 1.在urls.py中配置好接口路径和视图 2.在views.py中写对应的逻辑 3.在templates中添加对应的页面 这里以一个简单的根据id查询地址的功能为例 1.在urls.py中配置好接口路径和视图 2.在views.py中写对应的逻辑 3.在templates中添加对应的页面

    2024年02月07日
    浏览(57)
  • Django的数据库配置、生成(创建)过程、写入数据、查看数据的学习过程记录

    在文件:\\\"E:Python_projectP_001myshop-testmyshopmyshopsettings.py\\\"中写入以下数据库的配置信息: 上面的代码比较好理解,就是对于语句: django.db.backends.mysql 作一些说明: 在Django中, \\\'django.db.backends.mysql\\\' 是一个数据库后端引擎的路径,用于指定使用MySQL作为数据库的后端。数据库后

    2024年02月12日
    浏览(36)
  • python+django+sql实现简单的数据信息管理系统

    今天分享一个博客适合刚准备学习Pythonweb开发的小伙伴。 系统涉及功能: 1:运用django+mysql实现了数据的增删改查以及搜索。 2:实现了对前端语言和前端bootstrap库的基本运用。 3:实现了自定义分页的功能以及指定页码跳转。 项目涉及技术: Python的django框架,ORM数据*(库)

    2024年02月03日
    浏览(39)
  • Django学习记录:使用ORM操作MySQL数据库并完成数据的增删改查

    数据库操作 MySQL数据库+pymysql Django开发操作数据库更简单,内部提供了ORM框架。 安装第三方模块 ORM可以做的事: 1、创建、修改、删除数据库中的表(不用写SQL语句)。【无法创建数据库】 2、操作表中的数据(不用写SQL语句)。 1、自己创建数据库 1)启动MySQL服务 2)自带

    2024年02月14日
    浏览(45)
  • Django学习笔记-实现聊天系统

    笔记内容转载自 AcWing 的 Django 框架课讲义,课程链接:AcWing Django 框架课。 聊天系统整体可以分为两部分:输入框与历史记录。 我们需要先修改一下之前代码中的一个小 BUG,当在一个窗口中按 Q 时,另一个窗口中点击鼠标左键也能攻击,因为按下按键的事件被所有窗口都捕

    2024年02月07日
    浏览(31)
  • Django学习笔记-实现联机对战

    笔记内容转载自 AcWing 的 Django 框架课讲义,课程链接:AcWing Django 框架课。 多人模式中每个玩家所看到的地图相对来说应该是一样的,因此需要固定地图的长宽比,一般固定为16:9。我们需要在游戏窗口的长宽中取最小值,然后将地图渲染为16:9的大小。 我们在 AcGamePlayground

    2024年02月11日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包