Pycharm社区版搭建Django环境及Django简单项目、操控mysql数据库

news2024/11/28 21:35:33

Web应用开发(Django)

一、配置Django环境

1、先通过Pycharm社区版创建一个普通的项目

2、依次点击”file"-->"Settings"

3、点击"Project:项目名"-"Python Interpreter"-"+号"

4、在搜索框输入要安装的包,选择要下载的版本,然后点击"Install Package"

5、配置成功

二、创建项目

1、打开终端Terminal(在最下边),然后输入下面的命令创建Django项目

    django-admin startproject   pydjango

然后在当前项目下,就会出现一个名为pyDjango项目名的文件夹。

2、在Django项目文件夹处,打开终端

3、输入以下命令

python manage.py runserver

点击该网址即可打开

三、创建应用

一般一个项目包含多个app应用程序(当然,通用的app也可以在多个项目中使用) 下面我们为该项目,创建一个名为login的应用。

1、创建应用

通过pyCharm中的终端,进入到pyDjango目录下,创建新的应用:

python manage.py startapp login

创建应用结构以及应用文件夹中的文件功能:

2、注册应用

在pyDjango项目的settings.py文件中,找到INSTALLED_APPS设置,将你新创建的应用添加到这个列表中:

四、编写代码

1、后端数据输出到前端

1.1、普通模式

具体操作步骤:

1、在login应用的views.py文件中,编写hello函数。

2、在项目中的url.py文件中,通过path()函数来配置url路径绑定响应函数

3、运行服务器,访问地址,可能会报出以下问题

4、修改访问URL地址,在后面加上要访问的路径:/hello。成功输出view.py文件中hello函数return的内容。

1.2、模板模式

(1)创建模板。在该项目下,创建一个目录,命名为template。并在其内创建index.html。如图所示

index.html文件代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>首页</title>
</head>
<body>
    这是template目录下的index页面
</body>
</html>

(2)配置settings.py文件

在settings.py的TEMPLATES中添加你的模板路径:

(3)配置urls.py文件

在urls.py中添加url路径,指向views里的处理函数:

完成以上操作步骤之后,项目应该可以正常跑起来,在浏览器中输入:http://127.0.0.1:9999/index/。【注意:该ip和port需要根据自己配置的真实内容访问】

模板(Templates)解读:

  1. 模板是Django中用于生成HTML内容的文件,通常存放在应用的templates目录下。

  2. Django使用模板语言(Template Language)来动态生成内容,包括变量、标签和过滤器。

  3. 在视图函数中使用render()函数加载模板并传递数据进行渲染,最终返回给用户的是渲染后的HTML页面。

  4. 模板语言中的变量使用{{ variable_name }},标签使用{% tag_name %},过滤器使用{{ value|filter_name }}的方式进行操作。

  5. 继承是模板中常用的技术,通过{% extends 'base.html' %}和{% block content %}来实现模板的继承和覆盖。

2、模板中变量输出方式

视图函数中必须将变量封装到字典中才允许传递到模板上。也可以通过locals() 返回当前函数作用域内全部局部变量形成的字典。

2.1、在view.py文件中,修改index函数体,代码内容参考:

另一种使用locals(),代码参考

def index(request):
    name = 'lisi'
    age=12
    addr='china-beijing'
    phone='12312341234'
    # stu={'name':name,'age':age,'addr':addr,'phone':phone}
    # return render(request, "index.html",stu)
    return render(request,'index.html',locals())
​

2.2、修改template目录中index.html内容为:

运行结果:

3、前端数据传递到后端

3.1、修改template目录下的index.html文件内容。如图

代码为(采用form中的get方法传递):

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>首页</title>
</head>
<body>
    这是template目录下的index页面<br>
    <form action="" method="get">
        {% csrf_token %}
    请输入姓名:<input type="text" name="username"/>
       <input type="submit" name="submit" value="查询">
    </form>
    ---------------------------------<br>
    您输入的姓名为:{{ name }}<br>
​
</body>
</html>

3.2、修改view.py文件内容。如图

函数代码为:

def index(request):
    if request.method == "GET":
        name = request.GET.get('username')
    elif request.method == "POST":
        name = request.POST.get('username')
    return render(request, 'index.html', locals())

运行结果:

五、连接mysql数据库

1、安装mysqlclient

安装成功后,在项目环境的__init__.py文件中添加如下内容:

如果pymysql下面有红色波浪线,说明该模块未安装。在项目内安装即可。

2、配置数据库

修改settings.py文件中的DATABASES的值

3、绑定ORE关系映射

在sdp下的models.py中,创建类。以下方式的创建,需要满足的前提:在数据库中已经创建好了students表

ORM:对象关系映射

作用:目的就是为了能够让不懂SQL语句的人通过python面向对象的知识点也能够轻松自如的操作数据库

缺陷:封装程度太高,有时候sql语句的效率偏低,需要自己写SQL语句

类 ---------------->>> 表

对象 --------------->>> 表里面的数据

对象点属性 ---------->>> 字段对应的值

注意:

如果是在models.py创建类,而数据库中没有对应的表,则需要在terminal上面执行下面两条命令

登陆mysql查看结果。会自动生成对应的表

4、数据读取

在views.py文件中,定义函数来处理。

运行服务器,并访问对应URL,显示结果为:

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决方案︱视频孪生智慧高速解决方案

系统概述 在交通强国战略的指导下&#xff0c;我国政府高度重视以数字化为核心的智慧高速公路建设与发展。2023年9月&#xff0c;交通运输部印发了《交通运输部关于推进公路数字化转型加快智慧公路建设发展的意见》&#xff0c;强调到2035年&#xff0c;全面实现公路数字化转型…

高清视频+AI算法,EasyCVR视频智能监控方案打造无死角吸烟行为检测

一、背景与意义 1、吸烟危害&#xff1a;吸烟不仅有害健康&#xff0c;而且在特定场所带来的安全隐患极大。据统计&#xff0c;全年火灾事故中有五分之一系抽烟引起&#xff0c;引发的人员伤亡和财产损失巨大。 2、政策与法规&#xff1a;为了保护公共安全&#xff0c;消除消…

机器学习:人工智能的子领域之一

引言 人工智能&#xff08;AI&#xff09;已经成为现代科技的重要组成部分&#xff0c;推动了许多领域的创新与进步。在人工智能的诸多子领域中&#xff0c;机器学习&#xff08;ML&#xff09;无疑是最关键和最具影响力的一个。机器学习通过自动分析和学习数据中的模式&#x…

大数据技术学习回顾01-大数据的特点、技术体系(三驾马车)

参考来源&#xff1a; 极客时间专栏&#xff1a;从0开始学大数据&#xff0c;作者&#xff1a;李智慧 大数据技术整体概览 大数据技术体系 大数据处理的主要应用场景包括数据分析、数据挖掘与机器学习。数据分析主要使用 Hive、Spark SQL 等 SQL 引擎完成&#xff1b;数据挖…

【Python系列】Python 中的日期和时间处理

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

SSM家乡旅游网-计算机毕业设计源码04802

摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;SSM家乡旅游网当然也不能排除在外。SSM家乡旅游网是以实际运用为开发背景&#xff0c;运用软件工程开发方法&#xff0c…

U-Mail邮件系统全面支持信创国产化,打造自主可控的邮件系统

长期以来&#xff0c;中国IT产业的底层架构和标准多由国际巨头所主导&#xff0c;这不仅限制了本土技术的创新发展&#xff0c;同时也给国家安全带来了潜在的挑战。为了应对这一现状&#xff0c;我国正逐步构建起一套独立且安全的IT生态系统&#xff0c;旨在实现技术的自主可控…

论文学习day01

1.自我反思的检索增强生成&#xff08;SELF-RAG&#xff09; 1.文章出处&#xff1a; Chan, C., Xu, C., Yuan, R., Luo, H., Xue, W., Guo, Y., & Fu, J. (2024). RQ-RAG: Learning to Refine Queries for Retrieval Augmented Generation. ArXiv, abs/2404.00610. 2.摘…

快速上手SpringBoot

黑马程序员Spring Boot2 文章目录 1、SpringBoot 入门程序开发1.1 创建一个新的项目 2、浅谈入门程序工作原理2.1 parent2.2 starter2.3 引导类2.4 内嵌tomcat 1、SpringBoot 入门程序开发 1.1 创建一个新的项目 file > new > project > empty Project 创建新模块&a…

如何在 Vue 3 中使用 vue3-print-nb 实现灵活的前端打印

你好&#xff0c;我是小白Coding日志&#xff0c;一个热爱技术的程序员。在这里&#xff0c;我分享自己在编程和技术世界中的学习心得和体会。希望我的文章能够给你带来一些灵感和帮助。欢迎来到我的博客&#xff0c;一起在技术的世界里探索前行吧&#xff01; 前言 在前端开…

Linux中Web服务器配置和管理(Apache)

文章目录 一、WEB服务器介绍1.1、WEB服务器概述1.2、WEB服务器的发展历史1.3、WEB服务器的优点与缺点1.4、WEB服务器的工作流程 二、Apache介绍2.1、Apache是什么2.2、Apache的发展史与应用场景2.3、Apache的特点2.4、Apache的工作原理2.5、Apache的模块 三、安装使用Apache服务…

iOS 18 中全新 SwiftData 重装升级,其中一个功能保证你们“爱不释手”

概览 在最新的 WWDC 2024 中&#xff0c;苹果对多个系统框架都做了重量级的功能升级。这怎么能够少了 SwiftData 这位“后起之秀”呢&#xff1f; 万象更新的 iOS 18 为 SwiftData 增加了全新的唯一性、自定义数据仓库、富表达式以及字段索引等超赞功能。 在本篇博文中&#…

论文中引用网页链接的简单操作

一、参考资料 中文论文或者申请书中网页新闻引用格式 自制网页&#xff1a;在论文中快速引用网页链接 二、相关介绍 1. 常用文献类型用单字母标识 学术论文参考文献中文献类型字母标识 常用文献类型用单字母标识&#xff0c;具体如下&#xff1a; &#xff08;1&#xf…

自动控制理论---线性时不变系统的单位脉冲响应

1、实验设备 PC计算机1台&#xff0c;MATLAB软件1套。 2.实验目的&#xff1a; 学习并理解线性时不变系统的单位脉冲响应的计算方法。掌握MATLAB编程&#xff0c;计算整个系统的单位脉冲响应。 3.实验原理说明&#xff1a; 单位脉冲响应是指在输入信号为单位脉冲序列时&am…

【Java】内部类、枚举、泛型

目录 1.内部类1.1概述1.2分类1.3匿名内部类(重点) 2.枚举2.1一般枚举2.2抽象枚举2.3应用1&#xff1a;用枚举写单例2.4应用2&#xff1a;标识常量 3.泛型3.1泛型认识3.2泛型原理3.3泛型的定义泛型类泛型接口泛型方法 3.4泛型的注意事项 1.内部类 1.1概述 内部类&#xff1a;指…

高分文章发文圣体!一周80%二区以上 | GBD数据库周报(6.05~6.11)

全球疾病负担&#xff08;GBD&#xff09;是迄今为止规模最大、最全面的一项研究&#xff0c;旨在量化不同地区和不同时期的健康损失&#xff0c;从而改善卫生系统并消除差异。 该研究由华盛顿大学健康指标与评估研究所 (IHME) 牵头&#xff0c;是一项真正的全球性研究&#xf…

移动UI:小小工作台,竟然别有洞天(N多样式),上图了。

设计移动UI的工作台页面时&#xff0c;可以考虑以下几个方面&#xff1a; 布局设计&#xff1a;首先确定页面的布局&#xff0c;可以使用单栏、双栏或九宫格等等布局方式。布局应该简洁明了&#xff0c;方便用户快速找到需要的功能模块。功能模块&#xff1a;根据用户需求确定需…

Windows安装配置CUDA12.5

搞大模型往往都需要GPU加速&#xff0c;本次在家里的PC上安装CUDA来实现GPU加速。 一、环境准备 操作系统&#xff1a;Windows11 23H2 GPU&#xff1a;RTX 4070 Ti Super 显卡驱动&#xff1a;555.99 &#xff08;NVIDIA GeForce 驱动程序 - N 卡驱动 | NVIDIA&#xff09; …

从入门到高手的99个python案例(2)

51. 列表和数组比较 - 列表通用&#xff0c;NumPy数组高效。 import numpy as np normal_list [1, 2, 3] np_array np.array([1, 2, 3]) print(np_array.shape) # 输出 (3,), 数组有形状信息 52. Python的内置模块datetime - 处理日期和时间。 from datetime import…

H5拟态个人主页

演示地址&#xff1a;科技语者个人主页 (chgskj.cn) 文末有该项目的源码~ 这张图片的效果你是不是非常想要get同款&#xff1f; 源码就是这个样子 这段HTML代码构建了一个个人主页&#xff0c;结合了CSS样式和JavaScript功能。 下面是对代码的主要组成部分的详细解释&#x…