#Django系统

-环境

  -  python3.6

  -  django1.8

  -参考资料

    - [django中文教程](http://python.usyiyi.cn)

    - django架站的16堂课

#环境搭建

-  anaconda+pycharm

-  anaconda使用

    -  conda list:显示当前环境安装的包

    -  conda env list:显示安装的虚拟环境列表

    -  conda create -n env_name python=3.75

    - 激活conda的虚拟环境

      - (Linux)source activate env_name

      - (win) activate env_name

      - pip install django==1.8

# 后台需要的流程

#创建第一个django程序

-   django-admin startproject tulingxueyuan

-   cd tulingxueyuan

-   python manage.py runserver

- pycharm 启动

  - 需要配置

中间层--->路由--->视图(Views)---Models(ORM)

# 路由系统 - urls

- 创建app  

  -  app:负责一个具体业务或者一类具体业务的模块

  -  python manage.py createapp teacher

- conda activate tl_django
- python manage.py startapp  teacher
 
#  路由系统  -  urls
- 创建app  
  - app: 负责一个具体业务或者一类具体业务的模块
  - python manage.py createapp teacher
 
- conda activate tl_django
 
- 路由
  -  按照具体的请求url,导入到相应的业务处理模块的一个功能
  -  django的信息控制中枢
  -  本质上是接受的URL和相应的处理模块的一个映射
  -  在接受URL请求的匹配上使用了RE
  -  URL的具体格式入URLS.PY中所示
- 需要关注两点:
  1、接受的URL是什么,即如何用RE对传入URL进行匹配
  2、已知URL匹配到哪个处理模块
 

- url匹配规则

  -  从上往下一个一个比对

  -  url格式是分级格式,则按照级别一级一级往下比对,主要对应url包含子url的情况

  -  子url一旦被调用,则不会返回到主url

    -  ·/one/two/three/·

  - 正则以r开头,表示不需要转义,注意尖号(^)和美元符号($)

    -  `/one/two/three`  配对 r '^one/'

    -  `/oo/one/two/three`  不配对 r'^one/'

    -  `/one/two/three/`  配对 r'three/$'

    -  `/oo/one/two/three/oo/`  不配对 r 'three/$'

    -  开头不需要有反斜杠

  -  如果从上向下都没有找到合适的匹配内容,则报错

# 2、正常映射

-  把某一个符合RE的URL映射到事物处理函数中去

  -  举例如下:

    ···

    from showeast import views as sv

    urlpatterns = [

     url(r'^admin/', admin.site.urls),

     url(r'^normalmap/', sv.normalmap),  

    ]

    ···

# 3、URL中带参数映射

-  在事件处理代码中需要由URL传入参数,形如 /myurl/param中的param

-  参数都是字符串形式,如果需要整数等形式需要自行转换

-  通常的形式如下:

  ```

    /search/page/432 中的 432需要经常性变换,

  ```

# 4、URL在app中处理

  - 如果所有应用URL都集中    

Django系统的更多相关文章

  1. 使用dockerfile 搭建django系统(nginx+redis+mongodb+celery)

    背景 有需求需要对django系统进行docker化,以达到灵活部署和容灾.该系统基于django 2.2版本开发,数据库采用mongodb,服务器使用nginx,因系统有部分异步任务,异步任务则采用 ...

  2. Python Django系统

    本节内容 路由系统,视图函数,模板引擎,ORM操作 FBV和CBV ORM操作补充 Cookie和Session Ajax入门 1.  Django基本内容整理 1.1 路由系统 Django中路由系 ...

  3. 0004 继承django系统用户表

    1 创建基础模型 在本项目中,所有表都有两个自动产生的完全相同的字段,即创建时间和更新时间,因此,可以创建一个基础模型,让所有的表都来继承这个模型. 找到工程目录下的PublicMethod目录,创建 ...

  4. Linux 部署 Django 系统

    一:安装uwsgi pip3 install uwsgi 二:进入项目目录下,创建uwsgi.ini配置文件 [uwsgi] # 使用nginx连接时使用功能,上线时才使用socket,指定项目执行的 ...

  5. Django(博客系统):基于pycharm如何一个django工程下创建多个app

    背景:通常我们创建一个django系统时,为了把业务模块划分清楚往往会把一个独立的业务模块放到一个app中,如果多个独立的业务模块就会创建多个app,一般情况下为了更好的管理这些app,会把他们都存放 ...

  6. Django(博客系统):重写了auth.User后使用createsupperuser出错解决办法

    背景:重写django的系统User后,使用createsupperuser创建用户失败 由于项目需要扩展django默认新的auth.User系统(添加两个字段:头像.简介等字段),因此就重写了dj ...

  7. [原创]django+ldap实现单点登录(装饰器和缓存)

    前言 参考本系列之前的文章,我们已经搭建了ldap并且可以通过django来操作ldap了,剩下的就是下游系统的接入了,现在的应用场景,我是分了2个层次,第一层次是统一认证,保证各个系统通过ldap来 ...

  8. Django 应用 Buildbot

    Django作者之一 JACOB KAPLAN 所写的buildbot应用在Django系统. 全文总共分为两个部分 1,http://jacobian.org/writing/ci-is-hard/ ...

  9. 为什么选择Django?

    Web开发是Python语言应用领域的重要部分,也是工作岗位比较多的领域.如果你对基于Python的Web开发有兴趣,正打算开始学习使用Python做Web开发,或者已经是一个Web开发者有工作需要, ...

随机推荐

  1. 【MySql】常用方法总结

    将一个字段分组,统计每组重复个数,并排序 SELECT Customer, OrderDate, count(*) as Num FROM `all_orders` GROUP BY Customer ...

  2. 库数据有则修改,无则新增sql

    方法一:insert中on duplicate key update的使用 例如: <insert id="bindPlaceInfo"> insert into gr ...

  3. James Munkres Topology: Theorem 19.6

    Theorem 19.6 Let \(f: A \rightarrow \prod_{\alpha \in J} X_{\alpha}\) be given by the equation \[ f( ...

  4. 4.基于梯度的攻击——MIM

    MIM攻击原论文地址——https://arxiv.org/pdf/1710.06081.pdf 1.MIM攻击的原理 MIM攻击全称是 Momentum Iterative Method,其实这也是 ...

  5. Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第九集-补充-之安装mariadb】

    由于也是第一次安装,再此不必献丑了,贴上参考链接: 1,指导我为什么使用mariadb而不是用mysql:https://blog.csdn.net/liumiaocn/article/details ...

  6. Hierarchical clustering:利用层次聚类算法来把100张图片自动分成红绿蓝三种色调—Jaosn niu

    #!/usr/bin/python # coding:utf-8 from PIL import Image, ImageDraw from HierarchicalClustering import ...

  7. websocket-heartbeat-js心跳检测库正式发布

    前言: 两年前写了一篇websocket心跳的博客——初探和实现websocket心跳重连.  阅读量一直比较大,加上最近考虑写一个自己的npm包,因此就完成了一个websocket心跳的检测库.在这 ...

  8. docker 安装mongo

    1.docker安装参考docker官网教程 2.docker中获取mongo镜像 sudo pull mongo 3.通过run命令新建/启动容器,容器名称为mongo,本地宿主机如果27017端口 ...

  9. Jquery中事件的重复绑定

    问题:事件的绑定具有叠加效果,已有绑定的函数时,再次绑定,执行时会出现绑定多少次,触发多少次的情况 解决:1.on();绑定事件,提供了绑定事件处理程序所需的所有功能,用于统一取代以前的bind(). ...

  10. 小甲鱼Python第二十三讲课后习题--025,字典

    笔记: 1.字典是Python中唯一的映射类型 2.字典包含两个要素:键(key)和值(value)他们是成对出现的,用大括号括起来,多对存在时用逗号隔开. 3.可以用dict()直接创建字典,如di ...