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. C# 表达式树讲解(一)

    一.前言 一直想写一篇Dpper的定制化扩展的文章,但是里面会设计到对Lambda表达式的解析,而解析Lambda表达式,就必须要知道表达式树的相关知识点.我希望能通过对各个模块的知识点或者运用能够多 ...

  2. FreeSql (十六)分页查询

    IFreeSql fsql = new FreeSql.FreeSqlBuilder() .UseConnectionString(FreeSql.DataType.MySql, "Data ...

  3. Python 开发植物大战僵尸游戏

    作者:楷楷 链接:https://segmentfault.com/a/1190000019418065 开发思路 完整项目地址: https://github.com/371854496/pygam ...

  4. CTC安装错误之:binding.cpp:6:29: fatal error: torch/extension.h: No such file or directory

    错误原因:该问题主要由于CTC的版本导致. 解决方法: 在终端打开warp-ctc文件夹: cd warp-ctc 然后:git checkout ac045b6072b9bc3454fb9f9f17 ...

  5. ORA-08102异常重现及恢复

    现象: 在表上面新建主键报ORA-08102的异常: SQL> alter table t add primary key(id); alter table t add primary key( ...

  6. asp.net core IdentityServer4 概述

    概览 现代应用程序看上去大都是这样的: 最常见的交互是: 浏览器与Web应用程序通信 Web应用程序与Web API通信(有时是独立的,有时是代表用户的) 基于浏览器的应用程序与Web API通信 本 ...

  7. C++虚函数表和对象存储

    C++虚函数表和对象存储 C++中的虚函数实现了多态的机制,也就是用父类型指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数,这种技术可以让父类的指针有"多种形态",这 ...

  8. Salem and Sticks-萨鲁曼的棍子 CodeForce#1105A 暴力

    题目链接:Salem and Sticks 题目原文 Salem gave you 

  9. Flume系列二之案例实战

    Flume案例实战 写在前面 通过前面一篇文章http://blog.csdn.net/liuge36/article/details/78589505的介绍我们已经知道flume到底是什么?flum ...

  10. 构建之法——homework1:问题思考

    1.我看了第一章概论,1.2.4 软件工程的目标——创造“足够好”的软件,其中提到了什么是好的软件?  软件工程的一个要素就是把软件的Bug都消灭掉的过程. 提问:我们知道Bug是不可能完全消灭掉的, ...