Django快速上手

Django简介

Django 框架最初的诞生,主要是用来开发和管理 Lawrence Publishing Group(劳伦斯出版集团)旗下新闻网站的一款软件,是一款属于 CMS(Content Management System,内容管理系统)类的软件,并于 2005 年 7 月取得了 BSD 许可证下的发布权限。之后,经过开发人员的不断努力,Django 1.0 版于 2008 年 9 月正式发布。

Django 框架的设计初衷是为了简便、快速地开发出易于维护的数据库驱动型网站,其所独具的代码复用功能,支持将各种组件以"插件"方式嵌入到整个应用框架,从而极大地提高了应用开发的效率。Django 框架自身具有很强大的扩展性,在开源社区中存在有许多功能强大的第三方插件,开发人员可以非常方便地以"即插即用"的方式应用到自己的项目中。

Django 框架也是一个遵循 MVC 设计模式的框架。

不过从严格意义上讲,Django 框架采用了一种更为特殊的 MTV 设计模式,其中的"M"代表模型、"V"代表视图、"T"代表模板。MTV 模式本质上也是基于 MVC 模式的,是从 MVC 模式变化而来的。

MTV 模式的具体内容:

  • M 模型(Model)表示的是数据存取层,处于 MTV 模式的底层。M 模型负责处理与数据相关的所有事务,包括如何存取、如何验证有效性、如何处理数据之间关系等方面的内容。
  • T 模板(Template)表示的是表现层,处于 MTV 模式的顶层。T 模板负责处理与表现相关的操作,包括如何在页面或其他类型文档中进行显示等方面的内容。
  • V 视图(View)表示的是业务逻辑层,处于 MTV 模式的中间层。V 视图负责存取模型及调取适当模板的相关逻辑等方面的内容,是 M 模型与 T 模板之间进行沟通的桥梁。

1、安装(命令安装)

Django可以在cmd命令行中安装,也可以在pycharm中安装,但是pycharm需要专业版,所以我选择命令安装

进入cmd 中

bash 复制代码
pip install django

因为我有python2和python3 ,我希望安装在python3,需要用下面的命令

bash 复制代码
py -3 -m pip install django

安装好后在安装目录的Scripts会有django-admin.exe 这个是工具,创建django项目中的文件和文件夹,会有下面文件

2、创建项目

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

在cmd终端:

  • 打开终端。
  • 进入某个目录(项目放在哪里)。
bash 复制代码
F:\myfile\python\code>
  • 执行命令创建项目
    mysite是项目名称
bash 复制代码
"C:\Users\Administrator\AppData\Local\Programs\Python\Python37\Scripts\django-admin.exe" startproject mysite

默认项目的文件介绍,项目名称为mysite

3、APP

一个项目可以创建多个app, 可以一个模块一个app,

-项目

  • app, 用户管理[表结构、函数、HTML模板、 css]
  • app, 订单管理[表结构、函数、HTML模板、css]
  • app, 后台管理[表结构、函数、HTML模板、css]
  • app,网站 [表结构、函数、HTML模板、css]
  • app, API [表结构、函数、HTML模板、css]

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

创建app, 进入pycharm, 打开之前通过命令创建的项目,在pycharm的终端执行, 虽然项目是通过命令创建的,创建好后通过pycharm打开

bash 复制代码
python manage.py startapp app01

或者:

bash 复制代码
Django-admin startapp app01

或者:

bash 复制代码
py -3 manage.py startapp app01

4、快速上手

1、确保app已注册

在项目的djangoproject目录下的settings.py中添加配置,在INSTALLED_APPS的最后添加'app01.apps.App01Config',

python 复制代码
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app01.apps.App01Config',
]

在app01->apps.py中有一个App01Config的类

2、编写URL和视图函数对应关系[urls.py]

在urls.py中添加下面内容

python 复制代码
from django.contrib import admin
from django.urls import path

from app01 import views
urlpatterns = [
    #path('admin/', admin.site.urls),
    #访问XXXX.com/index  -->函数
    path('index/', views.index),

]

index/ 表示路径,在访问的时候 xxxx.com/index/

views.index是要在app01->views.py中添加的函数,将路径和函数绑定

3、编写视图函数 在app01目录下的【views.py

python 复制代码
from django.shortcuts import render, HttpResponse

# Create your views here.
def index(request):
    return HttpResponse("欢迎使用")

4、运行项目

正常的执行

python 复制代码
python manage.py runserver

但是我的执行这个就报错

这个应该是我安装了python2和python3的环境,没有使用python3的解释器

我改成下面的,就成功启动了

python 复制代码
py -3 manage.py runserver

访问页面 http://127.0.0.1:8000/index/:

相关推荐
看海天一色听风起雨落12 分钟前
Python学习之装饰器
开发语言·python·学习
XiaoMu_00142 分钟前
基于Python+Streamlit的旅游数据分析与预测系统:从数据可视化到机器学习预测的完整实现
python·信息可视化·旅游
THMAIL44 分钟前
深度学习从入门到精通 - 生成对抗网络(GAN)实战:创造逼真图像的魔法艺术
人工智能·python·深度学习·神经网络·机器学习·生成对抗网络·cnn
我没想到原来他们都是一堆坏人2 小时前
(未完待续...)如何编写一个用于构建python web项目镜像的dockerfile文件
java·前端·python
总有刁民想爱朕ha3 小时前
车牌模拟生成器:Python3.8+Opencv代码实现与商业应用前景(C#、python 开发包SDK)
开发语言·python·数据挖掘
人衣aoa3 小时前
Python编程基础(八) | 类
开发语言·python
大模型真好玩4 小时前
深入浅出LangGraph AI Agent智能体开发教程(四)—LangGraph全生态开发工具使用与智能体部署
人工智能·python·mcp
百锦再4 小时前
脚本语言的大浪淘沙或百花争艳
java·开发语言·人工智能·python·django·virtualenv·pygame
掘技术4 小时前
十个 Python 案例分享
python
dreams_dream5 小时前
企业级 Django 日志配置示例
数据库·django·sqlite