python Django入门

1.创建Django项目

  • 方式一:进入到指定要存放项目的目录,执行*django-admin startproject "projectname"* 来创建一个名
  • 方式二:使用Pycharm专业版创建Django项目

创建项目后,默认的目录结构:

manage.py:是Django用于管理本项目的命令行工具,之后进行站点运行,数据库自动生成等都是通过本文件完成。

HelloDjango/init.py:告诉python该目录是一个python包,暂无内容,后期一些工具的初始化可能会用到

HelloDjango/settings.py:Django项目的配置文件,默认状态其中定义了本项目引用的组件,项目名,数据库,静态资源等.

HelloDjango/urlspy:维护项目的URL路由映射,即定义当客户端访问时由哪个模块进行响应

HelloDjango/wsgi.py:全称为Python Web Server Gateway Interface,即Python服务器网关接口是Python应用与web服务器之间的接口,用于Django项目在服务器上的部署和上线,一般不需要修改。

2.启动Django项目

python manage.py runserver [ip:port]

可以直接进行服务运行默认执行起来的端口是8000,也可以自己指定ip和端口:

1.监听机器所有可用ip(电脑可能有多个内网ip或多个外网ip):

python manage.py runserver 0.0.0.0:8000

2.同时在settings.py中将ALLOED_HOSTS=["*"]

3.在其他局域网电脑上可以通过在浏览器输入Django项目所在电脑的IP:8000来访问(本机依旧可以通过使用127.0.0.1,localhost访问)

3.数据迁移

迁移的概念:就是将模型映射到数据库的过程

生成迁移文件: python manage.py makemigrations

执行迁移: python manage.py migrate

不需要初始化迁移文件夹,每个应用默认有迁移文件夹migrations

4.创建应用

python managepy startapp App

创建名称为App的应用
使用应用前需要将应用配置到项目中,在settings.py中将应用加入到INSTALLED_APPS选项中

应用目录介绍:

init.py:其中暂无内容,使得app成为一个包

admin.py:管理站点模型的声明文件,默认为空

apps.py:应用信息定义文件,在其中生成了AppConfig,该类用于定义应用名等数据

models.py:添加模型层数据类文件

views.py:定义URL相应函数

migrations包:自动生成,生成迁移文件的

testspy:测试代码文件

5.视图函数Views基本应用

在View.py中定义视图函数

然后再url.py中添加路由

6.Django前后端交互

7.Django流程框架

8.Django路由

1.在创建的app下创建url.py文件

2.在ur.py文件中写入子路由

9.Django模板

模板实际上就是我们用HTML写好的页面

创建模板文件夹templates,在模板文件夹中创建模板文件

在views中去加载洁染模板,使用render函数:return render(request,"index.html")

10.定义模型

在models.py 中引入models

from django.db import models

创建自己的模型类,但切记要继承自 models.Model

模型===》表结构

类属性==》表字段

对象==》表的一行记录

案例驱动: 定义用户模型

班级table : user

columns :

用户名称 - name

年龄-age

性别:sex

是否删除 - is_delete

模型创建好之后需要进行数据迁移。(模型表结构改变后一定要重新进行数据迁移)

写视图函数

11.后台管理Admin

#后台管理系统的使用

1,在应用的admin.py注册对应的模型

2.创建超级管理员的账号和密码: python manage.py createsuperuser

3.在主路由urls.py中填加: path('admin/,admin.site.urls)

4.访阿后台管理系统 http://127.8.0.1:8008/admin/

参考:千锋教育的个人空间-千锋教育个人主页-哔哩哔哩视频

相关推荐
用户8356290780514 小时前
从手动编辑到代码生成:Python 助你高效创建 Word 文档
后端·python
侃侃_天下4 小时前
最终的信号类
开发语言·c++·算法
c8i4 小时前
python中类的基本结构、特殊属性于MRO理解
python
echoarts5 小时前
Rayon Rust中的数据并行库入门教程
开发语言·其他·算法·rust
liwulin05065 小时前
【ESP32-CAM】HELLO WORLD
python
Aomnitrix5 小时前
知识管理新范式——cpolar+Wiki.js打造企业级分布式知识库
开发语言·javascript·分布式
Doris_20235 小时前
Python条件判断语句 if、elif 、else
前端·后端·python
Doris_20235 小时前
Python 模式匹配match case
前端·后端·python
每天回答3个问题6 小时前
UE5C++编译遇到MSB3073
开发语言·c++·ue5
伍哥的传说6 小时前
Vite Plugin PWA – 零配置构建现代渐进式Web应用
开发语言·前端·javascript·web app·pwa·service worker·workbox