Hzangyao

导航

django入门

1. web应用是什么?
	通过浏览器访问的应用程序都是
2. 软件开发架构
	B/S:浏览器, 服务端
    C/S:客户端,服务端
3. web应用的优点:
	3.1 只需要一个浏览器
    3.2 节省更多的资源
    3.3 客户端不需要主动更新,服务端更新即可
4. Web应用程序的缺点
	4.1 客户端严格依赖于服务端,服务端一旦宕机,客户端立马宕机
    4.2 会出现浏览器的兼容性问题。
5. web框架:
	'''
		框架:就是在固定的位置写固定的代码
	'''
    python中的三大主流框架:
    	1. Django:# 大而全,类似于航空母舰
        2. flask:# 小而精,严重依赖于第三方模块,轻量级的
        3. tornado:# 异步高性能框架,擅长解决高并发问题
    '''我们现在学习Django,框架没必须全部都学,只需要学习一到二个,到企业中,随着公司的使用去学习。''' 
    
    

MVC和MTV模型

1.1 MVC
	M:model(模型层), 跟数据库打交道的
    V:view(视图层), html页面
    C:controller(控制器层), 处理逻辑,调用页面和数据
1.2 MTV
	M 代表模型(Model): 负责业务对象和数据库的关系映射(ORM)。
	T 代表模板 (Template):负责如何把页面展示给用户(html)。
	V 代表视图(View): 负责业务逻辑,并在适当时候调用Model和Template。

Django下载与安装

1. 版本问题
	django1.x: 老项目在使用,
    django2.x:新项目在使用,  2020年
    django3.x:最新版本,		2021年
    '''IT行业,生产环境尽量不要选择最新版本'''
	# 我们学习使用django1.x, 与django2.x区别
2. 安装django
	pip3 install django==1.1.1
    
3. 如何验证django是否安装成功?
	# 在cmd中输入django-admin,如果有内容输出,就代表安装成功
    

创建django项目

'''在创建项目之前,可以先切换路径到你想保存项目的位置'''

1. 命令行创建项目:
	django-admin   startproject 项目名称
2. pycharm创建
	见截图
3. 命令行创建项目和pycharm创建的区别:
	3.1 pycharm创建
    	# 会自定生成一个templates文件夹
        TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [os.path.join(BASE_DIR, 'templates')]
        },
	]
    3.2 cmd创建:
    	# 没有templates文件夹
        TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
    }

启动项目

'''前提:在cmd中,先切换到manage.py文件所在的路径下'''
1. 命令行启动
	python3 manage.py runserver 
    python3 manage.py runserver 127.0.0.1:8000 # 在本地启动的时候默认
    python3 manage.py runserver 8001  # 修改端口号
    '''django框架的默认端口号:8000'''
2. pycharm启动django项目
	点击pycharm的右上角绿色启动按钮即可

创建应用

# 应用:application  app

'''
	我们刚刚创建的项目就类似于是一所大学,而创建的应用就类似于是大学里面的二级学院
'''

eg:
    订单模块
    用户模块
    收货地址
    ...
# 一个项目,至少要有一个应用

如何创建应用?
1. 命令行创建:
	python3 manage.py startapp 应用名
    '''
    	应用名:符合正常的命名规范就行, 见名知意,但是,我们教学使用app01, app02, app03...
    '''
2. pycharm 创建应用
	# 见截图
3. 应用创建完成之后,什么事都不要做,先去配置文件中注册应用
	############################################################
        INSTALLED_APPS = [
            'django.contrib.admin',
            'django.contrib.auth',
            'django.contrib.contenttypes',
            'django.contrib.sessions',
            'django.contrib.messages',
            'django.contrib.staticfiles',
            'app01',
            'app02'
        ]
    #######################################################################

主要文件介绍

mysite1      # 项目名称
	app01   # 应用名称
		migrations  # 迁移数据库的时候,会把迁移记录存在这个文件夹里面
			__init__.py # 包
		admin.py    # django自带的后台管理系统
		apps.py		# 暂且忽略
		models.py    # M:model层,跟数据库打交道的
		tests.py     # 测试脚本文件
		views.py	 # V:view(逻辑层)
mysite1
	__init__.py
	settings.py       # 整个django项目的配置文件
	urls.py			 # 路由文件,记录后缀与视图函数的对应关系
	wsgi.py			 # wsgiref服务器,在本地项目使用wsgiref, 后续上线的时候,我们会换成 uwsgi服务器,uwsgi承载的并发量更高,而wsgiref承载的并发量小,WSGI协议
templates			# 写html页面的地方
db.sqlite3			# django框架自带的小型数据库,mysql
manage.py			# 整个django项目的入口文件

django三板斧

1. HttpResponse()
2. render()
3. redirect

 # return HttpResponse('index')  # 暂且记住返回值是字符串
 # return render(request, 'index.html')  # 渲染html页面的
 # return redirect('http://www.mzitu.com')  # 重定向的
 return redirect('/home/')  # 重定向的

posted on 2022-03-16 20:40  Hzangyao  阅读(51)  评论(0编辑  收藏  举报