栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

django的设计模式_django框架开发流程?

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

django的设计模式_django框架开发流程?

django主要目录结构
mysite文件夹
	mysite同名文件夹
    	settings.py
        	# django暴露给用户可以自定义配置的文件
         urls.py
        	# 存放路由(路径)与函数(视图函数)对应关系
         wsgi.py
        	# 依赖于wsgiref模块的socket启动部分
    manage.py文件
    	# django的入口(启动)文件
    app01文件夹
    	migrations文件夹
        	# 里面存放ORM针对数据库相关的记录
        admin.py
        	# django自带的后台管理功能
        apps.py
        	# 每个应用的独立标识
        models.py
        	# 与数据库打交道的文件(ORM)
        tests.py
        	# 自带的测试文件
        views.py
        	# 该app对应的主体功能(函数 类)
    db.sqlite3
    	# django自带的小型数据库(针对日期格式无法精准存取)
  
"""
1.创建app之后一定要去settings.py中注册
	INSTALLED_APPS = [
		# 全写
    	'app01.apps.App01Config',
    	# 简写
    	'app02'
	]
2.templates路径配置
	TEMPLATES = [
    {
      	'DIRS': [os.path.join(base_DIR, 'templates')]
     }
"""
django是可以自动重启的 但是有时候自动重启的反应时间有点长
django小白必会三板斧
1.HttpResponse
	HttpResponse('hello django!')
	暂且理解为可以返回给前端浏览器文本类的数据
	
2.render
	render(request,'index.html',{'n1':[1,2,3]})  # 精准传(复杂但节省资源)
    render(request,'index.html',locals())  # 范围传(简单但不节省资源)
	返回给前端浏览器html页面 并且提供模板语法
3.redirect
	重定向
    redirect('https://www.baidu.com')  # 可以写全称
    redirect('/admin/')  # 也可以只写后缀(默认补齐当前IP和PORT)
  
urls.py   存放路由与视图函数对应关系		路由层
views.py  存放视图函数(核心业务逻辑)     视图层
templates文件夹  存放html文件           模板层
models.py  存放与数据库相关的代码(ORM)   模型层

"""
1.django默认的端口号是8000
 	在同一台机器同一时间如果需要运行多个django项目 需要修改端口号
 		python3 manage.py runserver ip:port
 		pycharm自主修改
2.浏览器缓存
	settings
		networks 
			disable cache
"""
静态文件配置
# 利用django编写用户登录功能
	'''为什么前端请求不到后端的框架资源:我们没有开设对应的资源接口'''
    针对静态资源的路径开设无需在urls.py中指定 只需要在配置文件指定即可
    STATIC_URL = '/static/'
    STATICFILES_DIRS = [
    	os.path.join(base_DIR,'static')
	]
    /static/bootstrap-3.4.1-dist/js/bootstrap.min.js

# 什么是静态文件
	不会频繁更改的文件
    	css文件、js文件、第三方框架文件、图片
# django存储静态文件
	static文件夹
    	该文件内部还可以依据不同的功能划分不同的区域
        	css文件夹
            js文件夹
            img文件夹
            others文件夹
         
# 进阶关系
    STATIC_URL = '/static/'  # 接口前缀(要想访问静态资源 那么路径的前缀就必须是这里指定的)
    # 将static文件夹所有的资源开设给外界
    STATICFILES_DIRS = [
        os.path.join(base_DIR,'static'),  # 文件夹名称
        os.path.join(base_DIR,'static1'),  # 文件夹名称
        os.path.join(base_DIR,'static2')  # 文件夹名称
    ]
    """
    接口前缀正确之后 拿着后面的路径去列表中
    从上往下依查找对应的资源 找到了就不再继续往下找
    """
 
# 接口前缀动态匹配
	{% load static %}
    
    
网络请求方式
1.get请求
	朝别人索要数据
    eg:浏览器地址栏输入www.baidu.com回车
        get请求没有请求体
        get请求也可以携带一些的额外的参数 但是大小有限制(2KB)
        	url?xxx=yyy&aaa=bbb
            
2.post请求
	朝别人提交数据
    eg:用户注册登录填写完身份数据之后提交
        post请求有请求体
        post请求也可以携带数据 并且大小没有限制 在请求体中
form表单重要参数
action  # 控制数据提交的地址
	1.写全路径  https://www.baidu.com
	2.写后缀(ip和端口自动补全当前服务器)    /index/
    3.不写  提交给当前页面所在的地址
method  # 控制数据提交的方式
	get  form表单默认是get请求
    post
  
"""
注意使用django前期在提交post请求之前需要去配置文件中注释掉一行代码
	MIDDLEWARE = [
    	# 'django.middleware.csrf.CsrfViewMiddleware',
	]
"""
requests对象方法
request.method  # 获取请求方式名(纯大写的字符串)
request.POST  # 获取post请求提交的普通数据
	request.POST.get()
    request.POST.getlist()
request.GET  # 获取get请求url问号后面的数据	
	request.GET.get()
    request.GET.getlist()
    
def login(request):  
    if request.method == 'POST':
        username = request.POST.get('username')  # 默认只会取列表最后一个元素
        password = request.POST.get('password')
        if username == 'jason' and password == '123':
            return HttpResponse('OK')
        else:
            return HttpResponse('用户名或密码错误')
    return render(request, 'login.html')
pycharm链接MySQL
database选项
django链接MySQL
# 第一步配置
DATAbaseS = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'db4_3',
        'USER':'root',
        'PORT':3306,
        'HOST':'127.0.0.1',
        'PASSWORD':'123',
        'CHARSET':'utf8'
    }
}
# 第二步配置(3.6及以下解释器 需要额外的配置)
import pymysql
pymysql.install_as_MySQLdb()
'''只要是__init__文件即可 项目的 应用的都可以'''
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/783647.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号