返回顶部
首页 > 资讯 > 后端开发 > Python >python django入门
  • 621
分享到

python django入门

2024-04-02 19:04:59 621人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录1.mvc vs mvtmvc:mvt:2.虚拟环境3.安装包4.创建Django项目5.创建应用6.模型ORM选项 说明7.后台管理系统(站点管理)1.mvc vs mvt m

1.mvc vs mvt

mvc:

m:model数据模型(将数据从数据库查询出来,再加工成前台需要的数据,统称数据模型层)

c:controller控制层(接受请求,接受请求数据,返回数据的代码层)

v:视图层(展示给用户看的层,比如网页、app、显示器等)

mvt:

m:同上

v:同上面的c

t:template模板的意思(比如京东浏览任何一个商品的详情页都是类似的页面只是数据不同,就可以写一个页面然后填充不同的数据,这个相同的页面就是模板)

2.虚拟环境

python为了不同项目之间版本不冲突,创建了虚拟环境的概念


问题:如果在一台电脑上, 想开发多个不同的项目, 需要用到同一个包的不同版本, 如果使用上面的命令, 在同一个目录下安装或者更新, 新版本会覆盖以前的版本, 其它的项目就无法运行了.
解决方案:虚拟环境
作用:虚拟环境可以搭建独立的Python运行环境, 使得单个项目的运行环境与其它项目互不影响.

虚拟环境安装:


pip install virtualenv
pip install virtualenvwrapper
可以使用豆瓣的镜像
pip install virtualen -i https://pypi.douban.com/simple 

创建虚拟环境的命令:


mkvirtualenv -p python3 虚拟环境名称
例 :
mkvirtualenv -p python3 py3_djanGo

进入虚拟环境:


workon py3_django

删除虚拟环境的命令 :


rmvirtualenv 虚拟环境名称
删除的时候需要先退出虚拟环境
先退出:deactivate
再删除:rmvirtualenv py3_django

3.安装包

项目的运行需要各种各样的包,都需要安装

进入虚拟环境后安装命令:


pip install 模块名 -i Https://pypi.douban.com/simple(这里使用豆瓣镜像)
例如: 
pip install django==2.1.1 -i https://pypi.douban.com/simple 
如果不指定版本
pip install django -i https://pypi.douban.com/simple  默认安装最新版本
卸载:
pip uninstall xxxx
查看已安装列表:
pip list

4.创建django项目


django-admin startproject daping(项目名)

使用pycharm打开

在这里插入图片描述

为项目配置虚拟环境:

在这里插入图片描述

运行项目:


可以使用cmd进入项目目录运行
也可以点击PyCharm左下角的terminal运行(运行的时候需要进入虚拟环境)
python manage.py runserver ip:端口
或:
python manage.py runserver
可以不写IP和端口,默认IP是127.0.0.1,默认端口为8000。
启动后在页面访问
127.0.0.1:8000
有个小火箭就是成功了

5.创建应用

每个项目都会有很多模块,比如商城有支付、物流等,而支付跟物流显然都是很多项目可以共用的,

为了达到复用的目的,python提出了应用的概念,把每个模块单独创建为一个应用,就可以很方便的达到复用的目的


python manage.py startapp 子应用名称      
tips:如果在其他目录下可以通过相对路径找到manage.py
例如:python manage.py startapp pay (在大平的目录下创建了一个名为pay的应用)

在这里插入图片描述

创建了子应用,需要在项目的全局配置中加入子应用


setting----INSTALLED_APPS---找到最后一行添加应用名称

在这里插入图片描述

6.模型ORM


ORM:
O:Object实体类
R:relatinal关系型数据库(Mysql)
M:mapping
也就是mysql有个表叫student  有id name列
那么在项目中应该有个student类 属性有id name
就把这个数据库到项目实体类的映射关系称为orm

在pay应用的models.py中新建实体类:


from django.db import models

# Create your models here.
class Teacher(models.Model):
    name = models.CharField(max_length=10)

# 实体类可以继承Model
class Student(models.Model):
    # 创建字段,字段类型...
    name = models.CharField(max_length=10)
    # 外键指定学生的老师
    teacher = models.ForeignKey(Teacher,on_delete=models.CASCADE)

on_delete=None, # 删除关联表中的数据时,当前表与其关联的field的行为
on_delete=models.CASCADE, # 删除关联数据,与之关联也删除
on_delete=models.DO_NOTHING, # 删除关联数据,什么也不做
on_delete=models.PROTECT, # 删除关联数据,引发错误ProtectedError
# models.ForeignKey('关联表', on_delete=models.SET_NULL, blank=True, null=True)
on_delete=models.SET_NULL, # 删除关联数据,与之关联的值设置为null(前提FK字段需要设置为可空,一对一同理)
# models.ForeignKey('关联表', on_delete=models.SET_DEFAULT, default='默认值')
on_delete=models.SET_DEFAULT, # 删除关联数据,与之关联的值设置为默认值(前提FK字段需要设置默认值,一对一同理)
on_delete=models.SET, # 删除关联数据,
a. 与之关联的值设置为指定值,设置:models.SET(值)
b. 与之关联的值设置为可执行对象的返回值,设置:models.SET(可执行对象)
类型 说明
AutoField 自动增长的IntegerField,通常不用指定,不指定时Django会自动创建属性名为id的自动增长属性
BooleanField 布尔字段,值为True或False
NullBooleanField 支持Null、True、False三种值
CharField 字符串,参数max_length表示最大字符个数
TextField 大文本字段,一般超过4000个字符时使用
IntegerField 整数
DecimalField 十进制浮点数, 参数max_digits表示总位数, 参数decimal_places表示小数位数
FloatField 浮点数
DateField 日期, 参数auto_now表示每次保存对象时,自动设置该字段为当前时间,用于"最后一次修改"的时间戳,它总是使用当前日期,默认为False; 参数auto_now_add表示当对象第一次被创建时自动设置当前时间,用于创建的时间戳,它总是使用当前日期,默认为False; 参数auto_now_add和auto_now是相互排斥的,组合将会发生错误
TimeField 时间,参数同DateField
DateTimeField 日期时间,参数同DateField
FileField 上传文件字段
ImageField 继承于FileField,对上传的内容进行校验,确保是有效的图片

选项 说明

  • null 如果为True,表示允许为空,默认值是False
  • blank 如果为True,则该字段允许为空白,默认值是False
  • db_column 字段的名称,如果未指定,则使用属性的名称
  • db_index 若值为True, 则在表中会为此字段创建索引,默认值是False
  • default 默认
  • primary_key 若为True,则该字段会成为模型的主键字段,默认值是False,一般作为AutoField的选项使用
  • unique 如果为True, 这个字段在表中必须有唯一值,默认值是False

修改setting配置文件,找到如下代码改为自己的mysql链接:


DATABASES = {
    'default':
        {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'junge',  # 数据库名字 需要在mysql创建对应的库
            'USER': 'root',
            'PASSWord': '123456',
            'HOST': '127.0.0.1',
            'PORT': '3306',
        }
}

链接mysql需要安装mysqlclient,如下命令安装


pip install mysqlclient -i https://pypi.douban.com/simple 

模型迁移 (建表)


生成迁移文件:根据模型类生成创建表的语句
python manage.py makemigrations
tips:会在migrations下面生成0001_initial.py文件,里面有表的创建语句,00001也记录了版本号,记录了每次对表的改变
执行迁移:根据第一步生成的语句在数据库中创建表
python manage.py migrate
执行完毕就会在mysql中生成对应的表

在这里插入图片描述

7.后台管理系统(站点管理)

修改setting.py里面的,语言跟时区


LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
修改为:
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'

后台管理系统需要账号登录,先创建用户:


  python manage.py createsuperuser
  按照提示输入用户名密码,邮箱随便输入
  重置密码python manager.py changepassword 用户名

创建好了用户启动项目,浏览器访问站点:


python manage.py runserver 启动项目
登陆站点 :http://127.0.0.1:8000/admin

想要我们创建的实体类被站点管理,需要注册:

在admin.py中输入


from django.contrib import admin
from .models import Student, Teacher
# ReGISter your models here.
admin.site.register(Student)
admin.site.register(Teacher)

再次访问:

在这里插入图片描述

--结束END--

本文标题: python django入门

本文链接: https://lsjlt.com/news/157499.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python django入门
    目录1.mvc vs mvtmvc:mvt:2.虚拟环境3.安装包4.创建django项目5.创建应用6.模型ORM选项 说明7.后台管理系统(站点管理)1.mvc vs mvt m...
    99+
    2024-04-02
  • Django入门
    一、http协议 http协议即:Hyper Text Transfer Protocol(超文本传输协议),于1990年提出,是用于万维网(World Wide Web)服务器与本地浏览器之间传输超文本的传送协议 1.1 htt...
    99+
    2023-01-30
    入门 Django
  • Django—入门
    索引         1.搭建环境       2.创建项目       3.设计模型       4.管理站点       5.视图及URL       6.模板   软件框架 问题1:什么是软件框架? 举个简单的例子,对于一个公司来说...
    99+
    2023-01-31
    入门 Django
  • Django入门(1)
    项目创建和APP创建 准备环境 python3 virtualenv pip3 pip3 install django==1.1 项目创建,APP创建 django-admin startproject ops cd ops pyth...
    99+
    2023-01-31
    入门 Django
  • Python自动化运维Django入门
      随着IT运维技术日益更新,近几年运维自动化越来越火,而且学习python的人非常的火爆,尤其是python自动化运维开发,得到了很多前辈的推崇。这里我也记录一下以前学习Django的一点点心得和方法,方便以后自己查阅,如果能帮助初学者是...
    99+
    2023-01-31
    入门 Python Django
  • Django -- 安装入门
    关于Django的学习,我主要依据的两个地址,希望可以和大家分享:http://www.runoob.com/django/django-install.htmlhttp://djangobook.py3k...
    99+
    2024-04-02
  • 13.django入门01(django入门初探视图,模板,路由)
    一、django的基本使用流程。pip install django #安装django创建一个project: django-admin startproject mysite---mysite...
    99+
    2024-04-02
  • Django 入门学习(3)
    在例4的基础上,我希望直接保存数据到数据库中。 Django自带了一个sqlite的数据库,已经配置好了 可以直接使用。使用方式和sqlalchemy类似,相当于一个内置的ORM框架。settings.py 默认已经绑定了sqlite3DA...
    99+
    2023-01-31
    入门 Django
  • python之django框架入门,看完你就会
    目录 1.创建Django项目  2.创建Django应用  3.定义ORM模型 4.创建并执行数据库迁移 5.定义视图函数 6.定义URL路由 7.编写模板 Django是一个基于Python的Web框架,它旨在提供开发人员一个高效而...
    99+
    2023-09-10
    django python 后端
  • 如何在 Windows 上快速入门 Python 和 Django?
    Python 和 Django 是如今最流行的 Web 开发语言和框架之一。Python 是一种易于学习的编程语言,而 Django 是一个优秀的 Web 框架,它可以帮助您快速开发高质量的 Web 应用程序。在本文中,我们将介绍如何在 W...
    99+
    2023-10-14
    django 关键字 windows
  • Django入门指南:掌握Python Web开发利器
    Django是一个基于Python语言的Web应用框架,它简化了Web应用开发的过程,支持快速开发高质量、易于维护的Web应用。本文将为你提供Django的入门指南,帮助你快速掌握这个强大的Web开发工具。 一、 安装Djang...
    99+
    2024-01-19
    Python web django
  • python Django框架快速入门教程(后台管理)
    Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。 Django 是一个开放源代码的 Web 应用框架,由 Python 写成。 Dja...
    99+
    2022-06-02
    python Django入门 python Django快速入门
  • Python Django 入门:探索 web 开发的无限可能
    理解 Django 的架构 Django 遵循模型-模板-视图(MTV)架构,该架构将应用程序逻辑组织成三个主要组件: 模型:定义应用程序中使用的数据库表和对象。 视图:处理传入的请求并生成响应。 模板:负责呈现视图生成的数据。 设置...
    99+
    2024-04-02
  • Python入门
    ---恢复内容开始---   在这章中,我了解到了计算机的概念、Python的发展史以及Python语言的版本之间的区别,并自己安装了Python的编辑器。通过安装Python编辑器,我认识到安装软件也可以在官网上安装。     在第...
    99+
    2023-01-30
    入门 Python
  • python 入门
    1、 python 脚本的编写   文件:hello.py   第一步:在第一行添加  #!/usr/bin/env python #!/usr/bin/env python3 print("hello world");    第二步...
    99+
    2023-01-30
    入门 python
  • Django入门知识点有哪些
    本篇内容介绍了“Django入门知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Django入门:基本知识熟悉python和dja...
    99+
    2023-06-18
  • Django零基础入门之运行Django版的hello world
    目录1.项目目录及文件说明:2.项目与应用app的关系:3.使用django框架编写hello world!1.项目目录及文件说明: manage.py django中的一个命令行...
    99+
    2024-04-02
  • 【Python】PyQt5入门
    文章目录 0 前言1 PyQt5及其基本模块2 开发方式3 UI界面设计(Qt Designer)4 逻辑代码的基本结构5 常用控件及其使用方法5.1 QTableView //2023.4....
    99+
    2023-10-20
    python qt pyqt5 qt designer TableView刷新数据
  • Python入门 (二)
    本文是个人python学习笔记,学习资料为廖雪峰python教程,如需更多内容,请移步廖老师官方网站。 一 函数式编程Functional Programming 函数式编程允许把函数本身作为参数传入另一个函数,还允许返回一个函数。Pyt...
    99+
    2023-01-31
    入门 Python
  • python 的入门
             时光匆匆,大一的时间过的很快,从大一上学期学的c开始,就感觉出c的结构很复杂,但是不可否认,学习c和汇编等涉及到系统底层知识才会有可能开发出属于自己知识产权的东西,然而,python以其简约性,丰富的库,流畅的语法结构等...
    99+
    2023-01-30
    入门 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作