微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

django中app分组

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)
    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',上form表单的url会自动变成login11

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐