当前位置 : 主页 > 编程语言 > python >

djngo未整理

来源:互联网 收集:自由互联 发布时间:2021-06-25
DjangoDjango基础命令 - runserver 本地建议运行Django - shell 进入Django项目得python shell环境 - test 执行Django 用列测试数据库相关得命令 - makemigrations 创建模型变更得迁移文件 - migrate 执行上一个
DjangoDjango基础命令   - runserver 本地建议运行Django   - shell  进入Django项目得python shell环境   - test 执行Django 用列测试数据库相关得命令   - makemigrations 创建模型变更得迁移文件   - migrate  执行上一个命令创建的迁移文件   - dumpdata 把数据库数据导出到文件   -loaddata  把文件数据导入到数据库创建Django项目   django-admin startproject project_name  (项目名称)创建Django应用   python mamage.py startapp app_name(应用名字)     -- app_name包含文件       - views.py 视图处理的地方       - models 定义应用模型的地方       - admin.py 定义admin 模块管理对象的地方       - apps.py 声明应用的地方       - test.py 编写应用测试用例的地方Django的视图    - 视图产生内容    - django的路由: 绑定视图函数和url      - 首先在view.py导入 from django.http import HttpResponse 模块,然后编写做一个自定义函数,参数为request, 返回参数的设置return HttpResponse("hell word") # httpresponse 实行返回      - 然后再应用文件中新建一个文件urls.py,导入 from django.urls import path, include ,import blog.views 然后绑定 urlpaterns =[ path(‘hell word‘, blog.views.hellword)]      - 打开项目的urls.py 将应转发到项目的view层urlpatterns = [ path(‘admin/‘, admin.site.urls),path(‘blog/‘, include(‘blog.urls‘))]      - 把应用添加到配置文件中 打开settings.py 在 INSTALLED_APPS 列表中添加元素‘blog‘, blog 是应用名字Django 模型层    - 初识Djago Adminmo模块     - 模型层是什么      ----》 位于django视图层和数据库之间             python对象和数据库之间的转化             可以屏蔽不同数据库之间的差异      模型层中的数据库相关的配置 --- 在setting中的位置:            - DATABASES = {  # 数据库的配置                 ‘default‘: {                ‘ENGINE‘: ‘django.db.backends.sqlite3‘, # 项目使用的数据库的驱动,这里表示使用了djgano.sqlite的驱动                ‘NAME‘: os.path.join(BASE_DIR, ‘db.sqlite3‘), # 表示使用的数据库的名字                }               }创建博客文章模型    - 设计博客文章模型            |- 标题 文本类型-- |- 摘要            |- 内容            - ID标记(唯一的) int 主键自增            - 发布日期 data    - 模型层定义字段        - 数字类型:InterField        - 文本: TextField        - 日期: DateTimeFiled        - 自增: AutoField        - 主键: primary_key属性        - 字符: CharField()    - 模型的定义        - 在应用文件的model.py 中编辑模板            - from django.db import models            class Article(models.Model):                # ID                Article_id = models.AutoField(primary_key=True)                # 标题                Article_title = models.TextField()                # 摘要                Article_content = models.TextField()                # 文章的主要内容                content = models.TextField()                # 文章的发布日期                publish_date = models.DateTimeField(auto_now=True) # 默认当前时间为发布日期        - 然后 python manage.py makemigrations  模型的变更生成文件        -  python manage.py migrate 运行文件把文件中的数据同步到数据库中-Django Shell    - shell 是什么。。。。python交互式的编程,继承django环境    - 为什么需要用Django Shell。。。临时性的操作更加方便,不需要运行整个项目来测试    - Django Shell的使用        - 打开shell --- python manage.py shell            -  导入模式的包 from blog.models import Article                a= Article()  # 实例化类                In [8]: a.title = ‘test Django Shell‘ # 添加每个变量的元素                In [9]: a.brief_content = ‘test Django shell ,by hogan‘                In [10]: a.content = ‘Test Django shell --- hogan‘                In [11]: print(a)  # 查看实列                        Article object (None)                In [12]: a.save()  # 保存数据                In [13]: article = Article.objects.all() # 查看表中所有实例                In [15]: print(article[0].title) #                查看第一条数据title数据                    test Django Shell                In [16]: print(article[0].content)                    Test Django shell --- hogan    - 方便开发、方便调试、方便debugDjango Admin 模块    - Django的后台管理工具    - 读取定义的模型元数据,提供强大的管理使用页面    -为什么需要Django Admin模块        ◆Django Shell新增文章太复杂了        ◆管理页面是基础设施中重要的部分        ◆认证用户、显示管理模型、校验输入等功能类似     -Django Admin模块的使用        ◆创建管理员用户   python manage.py createsuperuser        ◆登录页面进行管理  在浏览器中登录/admin    - 把刚刚创建的文章模板放入admin       - 在应用中 admin.py 中 添加            from .models import Article            admin.site.register(Article)       - 运行过后发现没有文章的标题,这个时候需要查看文章的标题就得去models.py 中将文章得标题进行返回:                   # 定义函数返回文章的标题                def __str__(self):                    return self.Article_title- 将刚刚得文件显示到页面        - 在应用得view.py中编写显示函数,返回文章得参数        from blog.models import Article            def article_content(request):            article = Article.objects.all()[0]            title = article.Article_title            brief_content = article.Article_content            content = article.content            id = article.Article_id            public_date = article.publish_date            str = "title:%s, brief_content:%s, content:%s, id:%s, public_date:%s" % (                title, brief_content, content, id, public_date)            return HttpResponse(str)        - 然后配置应用层路由 urls.py, 项目得路由            path[‘article‘,blog.views.article_content]            - 由于项目路由已经配置过了:path(‘blog/‘, include(‘blog.urls‘)),            所以暂时就不用配置了初始django视图与模板    ◆使用Bootstrap实现静态博客页面        -页面布局设计        -Bootstrap以及Bootstrap的栅格系统            - 参照源码开发bootcss.com            - 把整个页面分成12等份        -实现静态页面    ◆初识Django的模板系统            - 模板系统                -模板系统的表现形式是文本                -分离文档的表现形式和表现内容                -模板系统定义了特有的标签占位符            -基本语法              - 变量: {{}}              - for循环标签:{%forx in list%},{%endfor%}              - if-else分支标签:{%if%),{%else%},{%endif%}    ◆使用模板系统渲染博客页面           --实现文章详情页面的跳转   -设计文章详情页URL    /blog/detail=>不能指定某一篇博客    ·/blog/detail/1=>博客唯一ID为1的文章    ·/blog/detail/2=>博客唯一ID为2的文章    ·/blog/detail/3=>博客唯一ID为3的文章    ·/blog/detail/.- 实现分页的功能   - 导入分页   - 运用django的主键实现分页功能        进入shell    python manage.py shell        导入分页组件 from django.core.paginator import Paginator        分解介绍:            n [1]: from django.core.paginator import Paginator            In [2]: l = [1,2,3,4]            In [3]: print(l)            [1, 2, 3, 4]            In [4]: p=Paginator(1,2)  # l为分页列表,2表示分成两页            In [5]: p.num_pages # 查看一共有几页            In [8]: p.count  # 表示一共又几页                    page1=p.page(1)  # 取第一页的内容                    page1.object_list  # 取第二页的内容
网友评论