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/:

相关推荐
eric-sjq15 分钟前
基于xiaothink对Wanyv-50M模型进行c-eval评估
人工智能·python·语言模型·自然语言处理·github
是十一月末25 分钟前
机器学习之KNN算法预测数据和数据可视化
人工智能·python·算法·机器学习·信息可视化
工业互联网专业28 分钟前
基于OpenCV和Python的人脸识别系统_django
人工智能·python·opencv·django·毕业设计·源码·课程设计
杜小白也想的美1 小时前
FlaskAPI-初识
python·fastapi
一只搬砖的猹1 小时前
cJson系列——常用cJson库函数
linux·前端·javascript·python·物联网·mysql·json
CodeClimb1 小时前
【华为OD-E卷-租车骑绿道 100分(python、java、c++、js、c)】
java·javascript·c++·python·华为od
CodeClimb1 小时前
【华为OD-E卷-MVP争夺战 100分(python、java、c++、js、c)】
java·python·华为od
大霸王龙2 小时前
项目管理咨询公司专注于为各类项目提供全方位的管理咨询服务
python·django
Zik----2 小时前
Anaconda搭建Python虚拟环境并在Pycharm中配置(小白也能懂)
开发语言·人工智能·python·机器学习·pycharm
小周不摆烂2 小时前
【论文投稿】Python 网络爬虫:探秘网页数据抓取的奇妙世界
python