Django 最基础

知道Django是什么,怎么跑起来,和前端的交互的部分不用太花时间看,和数据库的交互要着重看
Django,OpenStacks
Django的models,Restframework
 
 
 
 

一.创建项目

django-admin startproject myblog
 
../myblog
    --myblog 项目的一个容器,默认和项目名称一致,可以修改 但是不建议
            --wsgi.py (Python Web Server Gateway Interface)python服务器网关接口,是python应用与Web服务器之间的接口。非常重要,一般不要动。
            --urls.py URL配置文件
            --settings.py --非常重要,下面单讲
            --__init__.py
    --manage.py
 
 
2.manage.py --项目管理器
runserver --启动服务器 python自带的一个小型的服务器
    python manage.py runserver 
    python manage.py runserver 999 --端口号
 
 
3.settings.py
静态文件路径设置:
STATICFILES_DIRS = [
    os.path.join(BASE_DIR,'static')
]
BASE_DIR 项目根目录  
SECRET_KEY 一般不动  
DEBUG 实际生产中一般设置为false  
ALLOWED_HOSTS 只允许这里的host访问 一般不填  
INSTALLED_APPS 如果我们创建了自己的应用  要写进去  
MIDDLEWARE 不需要去管  
ROOT_URLCONF URL的根文件,只想urls,py那个文件  
TEMPLATES 关于模板的配置,初学暂不管  
WSGI_APPLICATION  不动  
DATABASES 数据库  
AUTH_PASSWORD_VALIDATIONS    
LANGUAGE_CODE    
TIME_ZONE    
STATIC_URL 静态文件的地址,比如所css JavaScript以及一些图片文件等  
二.创建应用    
    1.进入manage.py同级目录,输入python manage.py startapp blog
    2.把应用名添加到settings.py中的INSTALLED_APPS里
    3.应用目录介绍
        migrations  --数据迁移模块
            __init__.py
        __init__.py
        admin.py  #该应用的后台管理系统配置
        apps.py   #该应用的一些配置,django 1.9之后自动生成,可以不使用
        models.py #数据模块 使用ORM框架
        tests.py    #自动化测试模块 在这里编写测试脚本
        views.py   #执行响应的代码所在模块,代码逻辑处理的主要地点,项目中大部分代码均在这里编写
 
      4.创建第一个页面
         views.py
            每个响应对应一个函数,函数必须返回一个响应
            函数必须存在一个参数,一般约定为request
            每一个响应函数对应一个url,要配置urls.py
         urls.py
            每个URL都以url的形式写出来
            url函数放在urlpatterns列表中
            url函数三个参数:URL(正则),对应方法,名称
 
     urls.py的优化
         在根urls.py中引入include 
         在APP目录下创建urls.py文件,格式与根urls.py相同
         根urls.py中url函数第二个参数改为include('blog.urls')
    注意事项
        根urls.py针对APP配置的URL名称,是该APP所有函数的总路径
        配置URL时注意正则表达式结尾符号$和/
 
 
  三.第一个templates
    HTML文件
    使用了Django模板语言(Django Template Language,DTL)
    可以使用第三方模板(如Jinja2),在settings.py中templates中修改backend参数即可
步骤:
    1.在APP的根目录下创建名叫templates的目录
    2.在该目录下创建HTML文件
    3.在views.py中返回render()
DTL初步使用
    render()函数中支持一个dict类型参数、
    该字典是后台传递到模板的参数,键为参数名
    在模板中使用{{参数名}}来直接使用
 
Django查找template的时候,会按照INSTALLED_APPS中的添加顺序查找templates,不同APP下Templates目录中的同名.html文件会造成冲突。
解决方案:
在APP的template目录下创建以APP名为名称的目录
将html文件放入新创建的目录下
 
 
编辑响应函数
    使用request.post['参数名']获取表单数据
    models.Article.objects.create(title,content)创建对象
    django对网站安全性有一定要求,如果提交post请求,则应该要添加如下一句话:{% csrf_token%}
 
修改数据
    aiticle.title = title
    aiticle.save()
 
 
 
 
 
 
 
 
    
 
posted @ 2017-12-05 15:29  陈门特  阅读(143)  评论(0)    收藏  举报