🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
![](https://img.kancloud.cn/41/e0/41e066af9a6c25a24868d9667253ec98_1241x333.jpg) ## Django框架介绍 Django也遵循MVC思想,但是有自己的一个名词,叫做MVT Django,发音为[`dʒæŋɡəʊ],Django诞生于2003年秋天,2005年发布正式版本,由Simon和Andrian开发。 ### Django版本和Python版本 https://docs.djangoproject.com/zh-hans/2.1/faq/ ![](https://img.kancloud.cn/4a/9e/4a9e68dc1d2584da9ac42440361371a4_526x162.png) ### Django开发原则 快速开发和DRY原则。Do not repeat yourself.不要自己去重复一些工作。 **官网手册介绍** ``` Django的官网:https://www.djangoproject.com/ Django Book2.0版本的中文文档:http://djangobook.py3k.cn/2.0/chapter01/ ``` ## Django项目创建 ### 1.用命令行的方式 ``` 创建项目:打开终端,使用命令:django-admin startproject [项目名称] 比如:django-admin startproject first_project。 ``` ### 2.用pycharm的方式 如果pycharm是专业版的话,可以用pycharm安装Django ![pycharm](https://img.kancloud.cn/6b/a2/6ba25230544994c3add1621930f4e746_778x490.png) ### 运行Django项目 - 通过命令行的方式:python manage.py runserver。这样可以在本地访问你的网站,默认端口号是8000,这样就可以在浏览器中通过http://127.0.0.1:8000/来访问你的网站啦。如果想要修改端口号,那么在运行的时候可以指定端口号,python manage.py runserver 9000这样就可以通过9000端口来访问啦。 - 通过pycharm运行Django项目,在edit configurations中设置 ### 项目结构介绍 manage.py:以后和项目交互基本上都是基于这个文件。一般都是在终端输入python manage.py [子命令]。可以输入python manage.py help看下能做什么事情。除非你知道你自己在做什么,一般情况下不应该编辑这个文件。 settings.py:本项目的设置项,以后所有和项目相关的配置都是放在这个里面。 urls.py:这个文件是用来配置URL路由的。比如访问http://127.0.0.1/news/是访问新闻列表页,这些东西就需要在这个文件中完成。 wsgi.py:项目与WSGI协议兼容的web服务器入口,部署的时候需要用到的,一般情况下也是不需要修改的。 ### project和app的关系 app是django项目的组成部分。一个app代表项目中的一个模块,所有URL请求的响应都是由app来处理。比如豆瓣,里面有图书,电影,音乐,同城等许许多多的模块,如果站在django的角度来看,图书,电影这些模块就是app,图书,电影这些app共同组成豆瓣这个项目。因此这里要有一个概念,django项目由许多app组成,一个app可以被用到其他项目,django也能拥有不同的app。 #### 创建app ``` python manage.py startapp [app名称] ``` ### app中的文件 ``` __init__.py 说明目录是一个Python模块 models.py 写和数据库相关的内容 views.py 接收请求,处理数据 与M和T进行交互 tests.py 写测试代码的文件(暂时不需要关心) admin.py 网站后台管理相关的 ``` ### 应用注册 建立应用和项目之间的联系,需要对应用进行注册。 修改settings.py中的INSTALLED_APPS配置项。 ## Django初体验 ``` from django.http import HttpResponse from book.views import book from move.views import move def index(request): return HttpResponse("首页") def book(request): return HttpResponse("图书首页") def move(request): return HttpResponse("电影首页") urlpatterns = [ path('admin/', admin.site.urls), path('',index), path("book",book), path("move",move) ] ``` ### DEBUG模式 - 开启了debug模式,那么修改代码,然后按下ctrl+s,那么Django会自动重启项目 - Django项目中代码出现了问题,在浏览器中和控制台中会打印错误信息 - 如果项目上线了,关闭debug模式,不然有很大的安全隐患 - 关闭DEBUG模式,在setting文件中,将DEBUG = False