django项目创建

django项目的创建

web框架:

python三大主流web框架:
	django  大而全 自带的组件和功能非常非常多  					
		    不足之处:写小项目的时候 可能会比较笨重(大材小用)
				
	flask   小而精 短小精悍  自带的组件和功能特别特别少  		    
			不足之处:受限于第三方模块的影响比较大
			如果将flask所有第三方模块加起来  能够直接盖过django

	tornado 异步非阻塞  这个框架甚至可以用来开发游戏服务器 缺陷() 
		
   框架建设 :
       a:socket部分
         b:路由匹配
           c:模板语法
		
		django:
			a用的别人的wsgiref(django默认的)  接收用户数据(数据类型转换) / 发送数据(数据类型转换)
			b自己写的
			c自己写的(类似后端的字典的功能)
		flask:
			a用的别人的werkzeug(模块)
			b自己写的
			c用的别人的jinja2
		Tornado:
			a,b,c都是自己写的

django框架介绍

注意事项:       
	1.计算机名称不能有中文      
	2.python解释器不要使用3.7版本  
	3.一个pycharm窗口 只能跑一个项目

安装: pip install django== 版本
判断是否下载成功 : django-admin
: 将djangoin 加入系统环境中,或在终端切换到bin目录下

问题: 
 django-admin 显示没找到,调价环境无效,则可能是
 打开.py后缀的文件的默认工具不是python.exe

--》修改打开方式

创建django项目: 
	1.终端: django-admin startproject mysite(项目名)
	2.启动django项目
	切换到项目文件夹下
		python3 manage.py runserver 
		python3 manage.py runserver 				127.0.0.1:8080(ip,port)
	3.创建应用(django支持多app开发)
	python3 manage.py startapp app01
	
    缺点: 
    1.不会自动帮你创建templates文件夹
    2.配置文件中不会自动帮你书写templates文件路径
				
	2.pycharm:
	1.开启一个新的django文件,只能创建一个APP
	2.一定要确保同一个端口 同一时间只能启一个django项目
	3.配置文件中针对templates文件夹的路径 如果是空的需要你手动配置
创建应用的时候 可以使用简便方式:
	Tools >>> run manage.py task
	--python3 manage.py startapp app01

django目录介绍:

目录:
mysite/
├── manage.py  # 管理文件
└── mysite  # 项目目录
    ├── __init__.py
    ├── settings.py  # 配置
    ├── urls.py  # 路由 --> URL和函数的对应关系
    └── wsgi.py  # runserver命令就使用wsgiref模块做简单的web server
应用名文件夹:
	migrations文件夹     所有数据库相关的操作记录
	admin.py             django admin后台管理
	apps.py              注册app使用
	models.py            放所有数据库相关的模型类
	tests.py			 测试文件
	views.py             处理业务逻辑的视图函数
    
    
    
运行:python manage.py runserver 127.0.0.1:8000
    
终端创建模板配置: TEMPLATES = [
     'DIRS': [os.path.join(BASE_DIR, "template")],  # template文件夹位置
]

静态文件配置:
STATIC_URL = '/static/'  # HTML中使用的静态文件夹前缀
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),  # 静态文件存放位置
]

django基础必备:

from django.shortcuts import HttpResponse, render, redirect

HttpResponse:
    内部传入一个字符串参数,返回给浏览器。
def index(request):
    # 业务逻辑代码
    return HttpResponse("OK")

render:  返回html文件
    除request参数外还接受一个待渲染的模板文件和一个保存具体数据的字典参数。
将数据填充进模板文件,最后把结果返回给浏览器。(类似用到的jinja2)


redirect : 重定向
		1.直接写你本网站的路径后缀
		2.也可以全路径

重启机制

注意:
 django默认是自动重启的
重启机制:
	内有检测机制 实时检测所有文件的变化
	有时候会产生 你代码还没写完 就自动重启报错的情况 不用管
	每次写完代码之后 自己手动重启
原文地址:https://www.cnblogs.com/shaozheng/p/11908066.html