Django教程(001):安装及快速上手

1.1 Django安装

bash 复制代码
pip install django

安装之后

复制代码
c:\python39
	-python.exe
	-Scripts
		-pip.exe
		-django-admin.exe【安装django之后,工具,创建django项目】
	-Lib
		-内置模块
		-site-packages
			-flask
			-django(安装django之后,【django框架源码】)

如下图:

1.2 创建项目

1.2.1 创建项目(命令行)

django中项目会有一些默认的文件和文件夹

  • 打开终端
  • 进入某个目录(项目放在那里)
bash 复制代码
 F:\05.Django>
 
 # 如果已经加入环境变量
 django-admin startproject mysite(项目名称)

创建成功

1.2.2 创建项目(Pycharm)

选择【new project】,选择【django】,选择项目的路径和Python的版本,点击==【create】==即可。

1.3 App

bash 复制代码
-项目
	- app,用户管理 【独立的表结构、函数、HTML模板、CSS】
	- app,订单管理 【独立的表结构、函数、HTML模板、CSS】
	- app,后台管理 【独立的表结构、函数、HTML模板、CSS】
	- app,API     【独立的表结构、函数、HTML模板、CSS】
	- ...

注意,我们开发比较简洁,用不到多app,一般情况下,项目创建1个app即可。

创建app命令,需要在指定目录中创建,这里可以在上面创建的django项目mysite中创建

bash 复制代码
 F:\05.Django\mysite>python manage.py startapp app01(app名称,可以自定义)

如果出现以下错误:

通过下面的步骤解决即可:

bash 复制代码
pip install --upgrade django

1.4 快速上手

  • 确保app已注册,找到文件mysite/mysite.settings.py`

  • 编写URL和视图函数对应关系【mysite/mysite/urls.py】

  • 编写视图函数

  • 启动django程序

    • 命令行启动(推荐)

      bash 复制代码
      python manage.py runserver
    • pycharm启动

      • 绿色三角启动
    • 启动结果

  • 浏览器访问

1.4.1 添加页面

复制代码
- url -> 函数
- views -> 视图函数
python 复制代码
path('user/list/', views.user_list),
path('user/add/', views.user_add),
python 复制代码
def user_list(request):
    # 1、优先去项目根目录的templates中寻找,如果找不到
    # 2、再去app目录下寻找templates/user_list.html
    return HttpResponse("user_list")


def user_add(request):
    return HttpResponse("user_add")

1.4.2 templates模板

修改代码,设置定义跳转页面

python 复制代码
def user_list(request):
    # 1、优先去项目根目录的templates中寻找,如果找不到
    # 2、再去app目录下寻找templates/user_list.html
    return render(request, 'user_list.html')

新建user_list.html页面

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div>
    <h1>用户列表</h1>
</div>
</body>
</html>

重新运行,浏览器访问http://127.0.0.1:8000/user/list/

1.4.3 静态文件

开发过程中一般将

  • 图片
  • css
  • js

都会当作静态文件处理。

具体

  • 在app目录下创建static文件夹

  • css、js、images等文件都放在这里面。

页面使用

html 复制代码
<link rel="stylesheet" href="/static/plugins/bootstrap-3.4.1-dist/css/bootstrap.css">
<script src="/static/js/jquery.min.js"></script>
<script src="/static/plugins/bootstrap-3.4.1-dist/js/bootstrap.js"></script>

试用bootstrap的组件

html 复制代码
<div>
    <div class="panel panel-primary">
        <div class="panel-heading">用户列表</div>
        <div class="panel-body">
            <table class="table table-bordered">
                <thead>
                <tr>
                    <th>编号</th>
                    <th>姓名</th>
                    <th>年龄</th>
                    <th>性别</th>
                    <th>地址</th>
                </tr>
                </thead>
                <tbody>
                <tr>
                    <td>1</td>
                    <td>Jerry</td>
                    <td>18</td>
                    <td>男</td>
                    <td>美国纽约</td>
                </tr>
                <tr>
                    <td>2</td>
                    <td>Tom</td>
                    <td>18</td>
                    <td>男</td>
                    <td>美国洛杉矶</td>
                </tr>
                <tr>
                    <td>3</td>
                    <td>Spike</td>
                    <td>18</td>
                    <td>男</td>
                    <td>美国华盛顿</td>
                </tr>
                </tbody>
            </table>
        </div>
    </div>
</div>

具体效果

相关推荐
freejackman20 小时前
【工程化】从“单兵作战”到“多引擎架构”:基于门面模式的重构实战
大数据·数据库·hive·sql·测试工具·设计模式·架构
bksczm20 小时前
InnoDB 内存结构总览:Change Buffer、AHI 与 Log Buffer
数据库·mysql
花间相见20 小时前
【计算基础|Redis02】【上手】五大数据类型命令逐条实操
数据库·redis·后端
敲上瘾21 小时前
Qt Widgets入门:项目模板解析与Hello World
开发语言·数据库·c++·qt·ui·qt6.3
bksczm1 天前
Redis 持久化:RDB 快照与 AOF 日志
数据库·redis·mybatis
.痞老板.1 天前
mysql初阶--数据库设计
数据库·mysql·oracle
Decay__1 天前
SQL Server 数据库全栈运维实战系列 — 合集索引(24 篇)
运维·数据库·sql·mysql·架构
Thanks_ks1 天前
SQL 的 GROUP BY 与聚合函数:从会写 SELECT 到会做统计
数据库·sql·mysql·group by·数据统计·聚合函数·having
Decay__1 天前
12_MySQL InnoDB 内存与锁调优 —— Buffer Pool、redo log、隔离级别与锁等待
运维·数据库·sql·mysql·架构
笃行3501 天前
AI数据库的库内四层结构,KingbaseES 产品拆解
数据库