08.13自我总结

django中app分组

一.django路由系统app进行分组

1.创建app

  • 使用pycharm创建django的时候, 加上app的名字,后续多个app只需复制粘贴之前app整个文件即可
  • 命令行Python manage.py startapp app的名字

2.app内文件简介

  • migrations:模型操作的迁移文件
  • admin.py:django admin的时候会用
  • apps.py:注册文件
  • models.py:写表生成的代码
  • tests.py:测试文件
  • views.py:视图文件,一般业务逻辑会写在其中
  • urls.py:格式与主urls.py一样复制过来即可

3.include用于主路由和分路由连接

主urls,py:

from django.conf.urls import url, include
urlpatterns = [
url(r'^classes/', include("classes.urls")),
url(r'^staudent/', include("staudent.urls")),
url(r'^teachers/', include("teachers.urls")),#app名称.urls
]

分urls.py:

from django.conf.urls import url
from classes import views
urlpatterns = [
url(r'^get_classes/', views.get_classes) #其域名为/classes/get_classes/
#而不是/get_classes/
]

4.路由的分发

正则表达式匹配

urlrouters:

url(r'^test/(\w+)/(\w+)/', views.test),
url(r'^test1/(?P<id>\w+)/(?P<name>\w+)/', views.test1),

views.py:

def test(request, name, id):
print(id, name)
return HttpResponse('test') def test1(request, name, id):
print(id, name)
return HttpResponse('test')

注意:

  • 如果没有?P的约束, 传参的时候, 会根据顺序来获取参数对应的值
  • 而如果有约束的话, 传参的时候, 会固定的将获取的值传给所对应的的约束

自定制404notfound的页面:

url(r'^', views.notfound),
views:
def notfound(request);
return render(request, "404.html")

5.利用正则表达式以及name关键字反向路由

urls.py:

url(r'^login.*?/', views.login, name='xxx'),

login.html:

<form action="{% url "xxx" %}" method="post">
<input type="text">
</form>

当我们输入url 为loginXXXXXXXXXXXXXX的时候网页上form表单的url会自动变成login

如果url(r'^login11', views.login, name='xxx'),上form表单的url会自动变成login11

django中app分组的更多相关文章

  1. Django之无名分组,有名分组

    在Django 2.0版本之前,在urls,py文件中,用url设定视图函数 urlpatterns = [ url(r'login/',views.login), ] 其中第一个参数是正则匹配,如下 ...

  2. django中跨app引用model

    可能是自己水平的原因,总感觉跨django中app引用有点怪怪的,所以在自己没有达到另一个级别之前就先把正确的解决 方案记一下吧. 一.django中跨app引用model,以app02中的model ...

  3. Django中的app及mysql数据库篇(ORM操作)

    Django常见命令 在Django的使用过程中需要使用命令让Django进行一些操作,例如创建Django项目.启动Django程序.创建新的APP.数据库迁移等. 创建Django项目 一把我们都 ...

  4. Django聚合与分组查询中value与annotate的顺序问题

    在学习Django聚合与分组查询中,发现value与annotate的顺序不同时,查询结果大相径庭,经过一下午的研究,终于弄明白了,现在分享给大家,先上结论: 结论 value在annotate前面时 ...

  5. Django中的Project和App的区别

    Django是一个非常流行的用python编写的Web框架,在使用Django之前,我们需要了解一些基本的概念,这样可以在使用Django的时候对其有一个更加深入的把握.本文主要介绍Django中两个 ...

  6. django 中的聚合和分组 F查询 Q查询 事务cookies和sessions 066

    1 聚合和分组 聚合:对一些数据进行整理分析 进而得到结果(mysql中的聚合函数) 1aggregate(*args,**kwargs) : 通过对QuerySet进行计算 ,返回一个聚合值的字典. ...

  7. Django中的APP

    3. Django中的APP: 什么是APP?以及为什么要用APP? project --> 项目 (老男孩教育大学校) APP --> 应用 (Linux学院/Python学院/大数据学 ...

  8. Django中的ORM

    Django中ORM的使用. 一.安装python连接mysql的模块:MySQL-python sudo pip install MySQL-python 安装完成后在python-shell中测试 ...

  9. Django中的许可(Permissions)和用户组(Group)

    Reference: http://www.cnblogs.com/esperyong/archive/2012/12/20/2826690.html 接着上面的3篇讨论文章,我们阐述了Django中 ...

随机推荐

  1. [币严区块链]以太坊(ETH)Dapp开发入门教程之宠物商店领养游戏

    阅读本文前,你应该对以太坊.智能合约有所了解,如果你还不了解,建议你先看以太坊是什么 除此之外,你最好还了解一些HTML及JavaScript知识. 本文通过实例教大家来开发去中心化应用,应用效果如图 ...

  2. Nginx总结(六)nginx实现负载均衡

    前面讲了如何配置Nginx虚拟主机,大家可以去这里看看nginx系列文章:https://www.cnblogs.com/zhangweizhong/category/1529997.html 今天要 ...

  3. 七个开源的 Spring Boot 前后端分离项目,一定要收藏!

    前后端分离已经在慢慢走进各公司的技术栈,根据松哥了解到的消息,不少公司都已经切换到这个技术栈上面了.即使贵司目前没有切换到这个技术栈上面,松哥也非常建议大家学习一下前后端分离开发,以免在公司干了两三年 ...

  4. java8中字符串常量以及GC相应处理机制

    目录 1,常量池 1.1, class文件常量池 1.2, 运行时常量池 1.3,字符串常量池 String.intern() -XX:StringTableSize 2,使用new关键字和使用字符串 ...

  5. 喜大普奔,两个开源的 Spring Boot + Vue 前后端分离项目可以在线体验了

    折腾了一周的域名备案昨天终于搞定了. 松哥第一时间想到赶紧把微人事和 V 部落部署上去,我知道很多小伙伴已经等不及了. 1. 也曾经上过线 其实这两个项目当时刚做好的时候,我就把它们部署到服务器上了, ...

  6. 装系统 ------ 使用微PE 做系统盘

    1.什么是PE系统 pe系统是一种装系统的系统,也就是预装系统的系统,它是一种系统预装环境和工具. 可以放在U盘或光盘里随身携带,可以用来给电脑装系统 2.常见的制作pe 系统的工具 大白菜,U启动, ...

  7. Day 17 软件管理2之搭建本地仓库

    1.列出yum源可用的软件仓库 [root@www.xuliangwei.com ~]# yum repolist [root@www.xuliangwei.com ~]# yum repolist ...

  8. Linux之正则表达式grep

    真好!

  9. 视频转成在github的readme中展示项目的gif动图

    本文中涉及的FastStone Capture和FFmpeg两个软件的百度网盘链接: 链接:https://pan.baidu.com/s/1D5LO9Qmjl-vwJZfnbAloyQ 提取码:56 ...

  10. css3不定宽高水平垂直居中

    1 justify-content:center;//子元素水平居中 2 align-items:center;//子元素垂直居中 3 display:-webkit-flex; 在父级元素上面加上上 ...