zoukankan      html  css  js  c++  java
  • Django入门到实战(一)

    Django入门到实战(一)

     转载地址:https://www.imooc.com/article/77138

    一、项目目录结构介绍

    manager.py 与项目进行交互的命令行工具集的入口(项目管理器)

    MyDjango 目录:项目容器,包含项目的基本配置,目录名称不建议修改

    __init__.py Python中声明模块的文件,内容默认为空

    settings.py 项目的总配置文件,包含数据库、Web应用、时间等各种配置

    urls.py URL配置文件,Django项目中所有地址(页面)都需要我们自己去配置其URL

    wsgi.py WSGI(Python Web Server Gateway Interface)Python服务器网关接口,Python应用与Web服务器之间的接口

    mytest目录:开发者创建的应用

    命令行:python manage.py startapp mytest(使用命令行创建应用时需要手动将应用名添加到settings.py中的INSTALLED_APPS里,应用名不能与Python中模块名相同)

    Django服务器启动命令:python manage.py runserver [端口号]

    二、应用目录结构介绍

    migrations 数据移植(迁移)模块

    __init__.py Python中声明模块的文件,内容默认为空

    admin.py 应用的后台管理系统的配置

    apps.py 应用的一些配置,Django-1.9以后自动生成

    models.py 数据模型,使用ORM框架,类似于MVC结构中的Models(模型)

    tests.py 自动化测试模块,Django提供了自动化测试功能,在这里编写测试脚本(语句)

    views.py 执行响应代码和逻辑处理的主要模块,包含项目中的大部分代码

    三、响应页面示例

    编辑views.py

    每个响应对应一个函数,函数必须返回一个响应,函数必须存在一个参数,一般约定为request,每一个响应(函数)对应一个URL

    编辑urls.py

    每个URL都以url的形式写出来,url函数放在urlpatterns列表中,url函数三个参数:URL(正则)、对应的方法、名称

    四、URL配置

    在根urls.py中引入include;在APP目录下创建urls.py文件,格式与urls.py相同;根urls.py中url函数第二个参数改为include('blog.urls')

    注意事项:根urls.py针对APP配置的URL名称,是该APP所有URL的总路径; 配置URL时注意正则表达式结尾符$和/

    五、Templates介绍

    定义:使用了Django模板语言(Django Template Language, DTL)的HTML文件,也可以使用第三方模板(如Jinja2)

    5.1 使用步骤

    • 在APP的根目录下创建名叫Templates的目录

    • 在该目录下创建HTML文件

    • views.py中返回render()

    5.2 DTL初步使用

    render()函数中支持一个dict类型参数,该字典是后台传递到模板的参数,键为参数名,在模板中使用**{{ 参数名 }}**来直接使用

    5.3 Django查找Templates

    Django按照INSTALLED_APPS中的添加顺序查找Templates,不同APP下Templates目录中的同名.html文件会造成冲突

    解决Templates冲突方案:在APP的Templates目录下创建以APP名为名称的目录,将html文件放入新创建的目录下

    六、Models介绍

    Django中的Models通常是一个Model对应数据库的一张数据表,Django中的Models以类的形式表现,它包含了一些基本字段以及数据的一些行为

    ORM(Object-Relational Mapping, 对象关系映射):实现了对象和数据库之间的映射,隐藏了数据访问的细节,不需要编写SQL语句

    6.1 编写Models步骤

    • 在APP根目录下创建models.py,并引入models模块

    • 创建类,继承models.Model,该类即是一张数据表

    • 在类中创建字段,字段即类里面的属性(变量)

    attr = models.CharField(max_length = 64) 更多关于类的字段以及可选参数

    6.2 生成数据表:

    命令行中进入manage.p同级目录执行python manage.py makemigrations app_name(可选),再执行python manage.py migrate

    6.3 查看生成的数据表

    Django会自动在app/migrations/目录下生成移植文件,执行python manage.py sqlmigrate应用名 文件id 查看SQL语句

    默认sqlite3的数据库在项目根目录 下db.sqlite3

    6.4 前端页面呈现数据

    views.pyimport models

    article = models.Article.objects.get(pk=1)

    render(request, page, {'article' : article})

    模板可直接使用对象以及对象的"."操作,如{{ article.title }}

    七、Admin介绍

    Admin是Django自带的一个功能强大的自动化数据管理界面,被授权的用户可直接在Admin中管理数据库,Django提供了许多针对Admin的定制功能

    7.1 配置Admin

    创建超级用户:python manage.py createsuperuser

    后台登录地址:http://127.0.0.1:8000/admin/

    更改语言为中文:修改settings.py中LANGUAGE_CODE = 'zh_Hans'

    7.2配置应用

    在应用下admin.py中引入自身的models模块(或里面的模型类)

    编辑admin.py: admin.site.register(models.Article)

    7.3 修改数据默认显示名称

    Article类下添加一个方法

    根据Python版本选择__str__(self)__unicode__(self), return self.title

    八、Templates过滤器

    写在模板中,属于Django模板语言,可以修改模板中的变量从而显示不同的内容

    使用方法:{{ value | filter }}, 如{{ list_nums | length }}

    过滤器可叠加:{{ value | filter1 | filter2 | … }}

    九、Django Shell

    Python的交互式命令行程序,它自动引入了我们的项目环境

    使用方法:python manage.py shell

    作用:进行调试,测试一些未知方法

    以上是在阅读和实践中总结内容,做个笔记,存储一下。

  • 相关阅读:
    SVN
    jenkins可视化
    Tomcat
    防火墙
    keepalived
    MHA高可用
    http
    inotifywait
    DNS
    nginx
  • 原文地址:https://www.cnblogs.com/cheng-cheng/p/10416408.html
Copyright © 2011-2022 走看看