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/

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

相关推荐
AngeliaXue3 分钟前
Java集合(List篇)
java·开发语言·list·集合
世俗ˊ3 分钟前
Java中ArrayList和LinkedList的比较
java·开发语言
顶呱呱程序6 分钟前
2-100 基于matlab的水果识别
开发语言·matlab·边缘检测·水果识别·特征提取·matlab-gui
鸽芷咕11 分钟前
【Python报错已解决】ModuleNotFoundError: No module named ‘tensorflow‘
python·机器学习·tensorflow·bug·neo4j
李元豪14 分钟前
python 自动化 win11 编程 实现 一键 启动多个软件,QQ浏览器,snipaste,pycharm软件
python·pycharm·自动化
痛&快乐着15 分钟前
python-在PyCharm中使用PyQt5
python·qt·pycharm
fydw_71521 分钟前
PyTorch 激活函数及非线性变换详解
人工智能·pytorch·python
Rverdoser22 分钟前
在 PyCharm 中配置 Anaconda 环境
ide·python·pycharm
Milo_K24 分钟前
项目文件配置
java·开发语言
IT小辉同学37 分钟前
用 Pygame 实现一个乒乓球游戏
python·游戏·pygame