Day 48 Django框架介绍/项目创建

Python三大主流框架

Django

大而全 自带的组件和功能非常非常多

不足之处:写小项目的时候 可能会比较笨重(大材小用)

Flask

小而精 短小精悍 自带的组件和功能特别特别少

基本全部依赖于第三方组件

不足之处:受限于第三方模块的影响比较大

如果将flask所有第三方模块加起来 能够直接盖过django

Tornade

异步非阻塞 这个框架甚至可以用来开发游戏服务器

Django框架

Django框架介绍

Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。

Django是一个开放源代码的Web应用框架,由Python写成。

Django遵守BSD版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0 。

Django采用了MVC的软件设计模式,即模型M,视图V和控制器C。

Django版本问题

django版本以1.11.11为主(1.11.9~1.11.13)

对应的python版本 2.7, 3.4, 3.5, 3.6

Django的安装

首先需要安装python3.6

在cmd中输入

pip3 install django==1.11.11

检验是否安装成功

命令行中输入 django-admin

Django项目的创建

命令行创建

  1. 创建Django项目

    django-admin startproject 项目名(如mysite)
    
  2. 创建app(应用)

    python manage.py startapp 应用名(如app01)
    
  3. 启动django项目

    切换到项目文件夹下
    python manage.py runserver
    python manage.py runserver 127.0.0.1:8080
    

注意:

  1. 命令行创建项目不会自动帮你创建templates文件夹
  2. 配置文件中不会自动帮你书写templates路径

补充

app的概念

django是一个以开发app为主要功能的web框架

app就是application应用的意思

一个django项目就是一所大学(空的架子 本身没有任何功能) 而app就类似于大学里面的各个学院

一个空的django本身没有任何作用 仅仅是为app提高前期的环境配置

你可以根据功能的不同 开发多个app

一个app对应一个具体的功能模块

用户相关的功能

用户相关的app

订单相关的功能

订单相关的app

商品相关的功能

商品相关的app每一个app都有自己独立的功能

pycharm创建项目

  1. 创建应用的时候可以使用简便方式

    Tool >> run manage.py task

  2. 一定要确保同一个端口,同一时间只能启动一个django项目

  3. 配置文件中针对templates文件夹的路径,如果是空的需要你手动配置

Django文件功能

django项目名
	项目同名的文件夹
		settings.py  暴露给用户可以配置的配置文件
		urls.py      路由与视图函数对应关系
	manage.py        django的入口文件
	应用名文件夹
		migrations文件夹     所有数据库相关的操作记录
		admin.py             django admin后台管理
		apps.py              注册app使用
		models.py            放所有数据库相关的模型类
		tests.py			 测试文件
		views.py             处理业务逻辑的视图函数

Django三板斧

HttpResponse  返回字符串

render        返回html文件
				可以给html页面传值
				def login(request):
					user_dic = {'username':'jason','password':'123'}
					return render(request,'login.html',{'xxx':user_dic})

redirect      重定向
				1.直接写你本网站的路径后缀
				2.也可以全路径
				def home(request):
					# return redirect('/login')  # 重定向
					return redirect('https://www.baidu.com')  # 重定向
原文地址:https://www.cnblogs.com/2222bai/p/11928189.html