django学习笔记(1)

django创建项目

先创建一个文件夹用来放django的项目,我这里是My_Django_it
之后打开到该文件下,并用下面的指令来创建myDjango1项目

D:\>cd My_Django_it

D:\My_Django_it>"D:\zzu_it\Django_learn\Scripts\django-admin.exe" startproject myDjango1

D:\My_Django_it>

文件介绍

在这里插入图片描述

APP

类似蓝图
模块化

python manage.py startapp app01

在这里插入图片描述
在这里插入图片描述

快速项目

在myDjango2中的settings.py中

INSTALLED_APPS = [
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
    "app01.apps.App01Config",
]

最后一句加上"app01.apps.App01Config",

编写URL和视图的关系
在这里插入图片描述
在这里插入图片描述

运行项目

 python manage.py migrate

bug: 若出现下面报错

You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
Error: You don't have permission to access that port.

说明端口被占用了,很可能是酷狗占用了,只要关闭酷狗就行了

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

后端渲染

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

加载静态界面

在这里插入图片描述

模板语法

def tpl(request):
    name="李四"
    roles=["管理员","CEO","保安"]
    user_info={"name":"李明","salary":10000,"role":"CEO"}
    data_list=[
        {"name": "李明", "salary": 10000, "role": "CEO"},
        {"name": "王五", "salary": 10000, "role": "CEO"},
        {"name": "李四", "salary": 10000, "role": "CEO"},
        {"name": "赵一", "salary": 10000, "role": "CEO"}
    ]
    return render(request,"tpl.html",{"n1":name,"n2":roles,"n3":user_info,"n4":data_list})
<!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>
<div>
    {{ n3.name }}
        {{ n3.salary}}
        {{ n3.role }}
</div>

<ul>
    {% for item,v in n3.items %}
        <li>{{ item }}:{{ v }}</li>

    {% endfor %}
</ul>

<hr>
{{ n4.1.name }}
<ul>
{% for item in n4 %}
    {% for k,v in item.items %}
        <li>{{ k }}:{{ v }}</li>
    {% endfor %}
{% endfor %}
</ul>


</body>
</html>

在这里插入图片描述
在这里插入图片描述

通过爬虫显示数据

在这里插入图片描述

在news函数中如下

def news(req):
    #用爬虫获取新闻
    # 向http://www.chinaunicom.com.cn/api/article/NewsByIndex/2/2023/07/news发送请求
    import requests
    res=requests.get("http://www.chinaunicom.com.cn/api/article/NewsByIndex/2/2023/07/news",headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.183"})
    print(res)
    data_list=res.json()
    print(data_list)

    return render(req,"news.html")

在这里插入图片描述

其中如果报错Expecting value: line 1 column 1 (char 0),找到上图User-Agent的位置,加入到requests参数中

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>新闻</title>
</head>
<body>
<h1>新闻中心</h1>
<ul>
    {% for news in news_list %}
    <li>新闻标题:{{ news.news_title }}</li>
    <li>时间:{{ news.post_time }}</li>
    {% endfor %}
</ul>
</body>
</html>

在这里插入图片描述

请求与响应

def something(request):
    # request 是一个对象,浏览器发的所有数据
    print(request.method)

    print(request.GET)
    print(request.POST)
    # HttpResponse返回里面的字符串
    #return HttpResponse("返回")

    #渲染
    #return render(request,"something.html",{"title":"1212"})

    #重定向
    #return redirect("https://www.baidu.com")

数据库

在这里插入图片描述

安装外部库

pip install mysqlclient

ORM

  • 创建表,修改,删除(不能创建数据库)
  • 操作表中的数据

创建数据库

  • 启动MySQL
  • 自带工具创建数据库

在cmd中进入mysql -u root -p进入
创建数据库

也可以通过Navicat中创建数据库

在setting.py中创建数据库参数

DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME':'Django_learn',
    'USER': 'root',
    'PASSWORD': '200625',
    'HOST': '127.0.0.1',
    'PORT': 3306,
    }
}

在models.py中

class UserInfo(models.Model):
    #表名 app01_userInfo
    name = models.CharField(max_length=32)
    password=models.CharField(max_length=32)
    age=models.IntegerField()

在命令框中执行如下

python manage.py makemigrations

python manage.py migrate 

在cmd中选择数据库

use django_learn

显示表

show tables

在这里插入图片描述
显示表中的变量

 desc app01_userinfo

若在原有的数据库中添加新的变量需要再次执行如下

python manage.py makemigrations

python manage.py migrate 

并且在models.py中添加上默认值

class UserInfo(models.Model):
    #表名 app01_userInfo
    name = models.CharField(max_length=32)
    password=models.CharField(max_length=32)
    age=models.IntegerField()
    size=models.IntegerField(default=2)

增删改查

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/50311.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

echarts遇到的问题

文章目录 折线图-区域面积图 areaStyley轴只有整数y轴不从0开始y轴数值不确定&#xff0c;有大有小&#xff0c;需要动态处理折线-显示label标线legend的格式化和默认选中状态x轴的lable超长处理x轴的相关设置 echarts各个场景遇到的问题 折线图-区域面积图 areaStyle areaStyl…

分库分表之基于Shardingjdbc+docker+mysql主从架构实现读写分离(二)

说明&#xff1a;如果实现了docker部署mysql并完成主从复制的话再继续&#xff0c;本篇文章主要说明springboot配置实现Shardingjdbc进行读写分离操作。 如果没实现docker部署mysql实现主从架构的话点击我 Shardingjdbc配置介绍&#xff08;版本&#xff1a;5.3.2&#xff09;…

STM32 Flash学习(一)

STM32 FLASH简介 不同型号的STM32&#xff0c;其Flash容量也不同。 MiniSTM32开发板选择的STM32F103RCT6的FLASH容量为256K字节&#xff0c;属于大容量产品。 STM32的闪存模块由&#xff1a;主存储器、信息块和闪存存储器接口寄存器等3部分组成。 主存储器&#xff0c;该部分…

linux 指令 第3期

cat cat 指令&#xff1a; 首先我们知道一个文件内容属性 我们对文件操作就有两个方面&#xff1a;对文件内容和属性的操作 扩展&#xff1a;echo 指令 直接打印echo后面跟的字符串 看&#xff1a; 这其实是把它打印到了显示器上&#xff0c;我们也可以改变一下它的打印位置…

工业边缘计算为什么?

在工厂环境中使用边缘计算并不新鲜。可编程逻辑控制器&#xff08;PLC&#xff09;、微控制器、服务器和PC进行本地数据处理&#xff0c;甚至是微型数据中心都是边缘技术&#xff0c;已经在工厂系统中存在了几十年。在车间里看到的看板系统&#xff0c;打卡系统&#xff0c;历史…

加解密相关工具网站总结

加解密相关工具&网站总结 文章目录 加解密相关工具&网站总结CMD5&#xff0c;解密&#xff0c;反向查询JSFuck&#xff08;JavaScriptAAEncode加密/解密&#xff08;Javascript在线CTF编码工具开源加解密工具大佬文章&#xff1a;1.30余种加密编码类型的密文特征分析2.…

手把手一起上传本地项目至Gitee仓库

1、Gitee新建仓库 创建自己的Gitee账号&#xff0c;新建仓库&#xff0c;如图所示&#xff1a; 根据自己的项目情况&#xff0c;填写仓库信息&#xff0c;如图所示&#xff1a; 仓库创建完成&#xff0c;如图所示&#xff1a; 2、下载Git 下载地址可用链接: https://registry…

陕西师范大学大学:融合传统与创新的学府之旅

前言 > &#x1f4d5;作者简介&#xff1a;热爱跑步的恒川&#xff0c;致力于C/C、Java、Python等多编程语言&#xff0c;热爱跑步&#xff0c;喜爱音乐的一位博主。 > &#x1f4d7;本文收录于恒川的日常汇报系列&#xff0c;大家有兴趣的可以看一看 > &#x1f4d…

Knowledge-QA-LLM: 基于本地知识库+LLM的开源问答系统

⚠️注意&#xff1a;后续更新&#xff0c;请移步README Knowledge QA LLM 基于本地知识库LLM的问答系统。该项目的思路是由langchain-ChatGLM启发而来。缘由&#xff1a; 之前使用过这个项目&#xff0c;感觉不是太灵活&#xff0c;部署不太友好。借鉴如何用大语言模型构建一…

2023年深圳杯数学建模D题基于机理的致伤工具推断

2023年深圳杯数学建模 D题 基于机理的致伤工具推断 原题再现&#xff1a; 致伤工具的推断一直是法医工作中的热点和难点。由于作用位置、作用方式的不同&#xff0c;相同的致伤工具在人体组织上会形成不同的损伤形态&#xff0c;不同的致伤工具也可能形成相同的损伤形态。致伤…

elementui el-table 封装表格

ps: 1.3版本 案例&#xff1a; 完整代码&#xff1a; 可直接复制粘贴&#xff0c;但一定要全看完&#xff01; v-slot"scopeRows" 是vue3的写法&#xff1b; vue2是 slot-scope"scope" <template><!-- 简单表格、多层表头、页码、没有合并列行…

iOS 应用上架的步骤和工具简介

编辑 APP开发助手是一款能够辅助iOS APP上架到App Store的工具&#xff0c;它解决了iOS APP上架流程繁琐且耗时的问题&#xff0c;帮助跨平台APP开发者顺利将应用上架到苹果应用商店。最重要的是&#xff0c;即使没有配置Mac苹果机&#xff0c;也可以使用该工具完成一系列操作&…

Merge the squares! 2023牛客暑期多校训练营4-H

登录—专业IT笔试面试备考平台_牛客网 题目大意&#xff1a;有n*n个边长为1的小正方形摆放在边长为n的大正方形中&#xff0c;每次可以选择不超过50个正方形&#xff0c;将其合并为一个更大的正方形&#xff0c;求一种可行的操作使所有小正方形都被合并成一个n*n的大正方形 1…

找不到mfc140u.dll怎么解决

第一&#xff1a;mfc140u.dll有什么用途&#xff1f; mfc140u.dll是Windows操作系统中的一个动态链接库文件&#xff0c;它是Microsoft Foundation Class (MFC)库的一部分。MFC是 C中的一个框架&#xff0c;用于构建Windows应用程序的用户界面和功能。mfc140u.dll包含了MFC库中…

“RWEQ+”集成技术在土壤风蚀模拟与风蚀模数估算、变化归因分析中的实践

土壤风蚀是一个全球性的环境问题。中国是世界上受土壤风蚀危害最严重的国家之一&#xff0c;土壤风蚀是中国干旱、半干旱及部分湿润地区土地荒漠化的首要过程。中国风蚀荒漠化面积达160.74104km2&#xff0c;占国土总面积的16.7%&#xff0c;严重影响这些地区的资源开发和社会经…

GitLab开启双端认证并登录GitLab

GitLab开启双端认证并登录GitLab 1.介绍双端认证 单重认证——密码验证&#xff0c;这极其容易出现密码被盗&#xff0c;密码泄露等危险事件。 于是为了提高安全性&#xff0c;就出现了双因素认证&#xff0c;多因素认证。登录的时候不仅要输入账号和密码还需要输入一个验证码…

Web3 叙述交易所授权置换概念 编写transferFrom与approve函数

前文 Web3带着大家根据ERC-20文档编写自己的第一个代币solidity智能合约 中 我们通过ERC-20一种开发者设计的不成文规定 也将我们的代币开发的很像个样子了 我们打开 ERC-20文档 我们transfer后面的函数就是transferFrom 这个也是 一个账号 from 发送给另一个账号 to 数量 val…

如何搭建并部署抖音SEO源代码?

搭建并部署抖音SEO源代码&#xff0c;需要以下步骤&#xff1a; 购买服务器&#xff1a;在云服务商或者VPS提供商购买一台服务器&#xff0c;选择Linux系统。 安装LAMP/LEMP环境&#xff1a;LAMP是指Linux Apache MySQL PHP&#xff0c;LEMP是指Linux Nginx MySQL PHP。…

Spring学习笔记,包含Spring IOC、AOP基本原理、Bean管理、Spring 事务等等

&#x1f600;&#x1f600;&#x1f600;创作不易&#xff0c;各位看官点赞收藏. 文章目录 Spring 基础笔记1、控制反转 (IOC)1.1、IOC 底层原理1.2、IOC 之Bean管理 ( XML )1.3、IOC 之Bean管理 (FactoryBean)1.4、Bean的作用域1.5、Bean的生命周期1.6、Bean的自动装配1.7、I…

Docker 镜像操作

Docker镜像操作 我们已经介绍了容器操作,今天来了解下 Docker镜像 以及 镜像操作 。让我们一起开启镜像之旅吧。 Docker镜像 镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库…