#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. Java面试题复习笔记(数据库)

    1.数据库分类? 关系型数据库和非关系型. 常用关系型:Myspl.Oracle.SQLServer 非关系型:Redis.Hadoop.Memcache.Mogobd 2.关系数据库三范式? 范式就 ...

  2. open live write 代码高亮插件的配置和使用

    第一步:下载open live writer插件,下载地址:http://www.cnblogs.com/memento/p/5995173.html 第二步:找到open live writer的安 ...

  3. python之配置日志的三种方式

    以下3种方式来配置logging: 1)使用Python代码显式的创建loggers, handlers和formatters并分别调用它们的配置函数: 2)创建一个日志配置文件,然后使用fileCo ...

  4. (三)Knockout 控制流程

    foreach 示例1:迭代数组 foreach binding主要作用于lists或是tables内数据单元的动态绑定.下面是一个简单的例子: <table> <thead> ...

  5. 统计一个数据库中,无记录的表的sql语句

    SQL Server数据库中统计无记录数的表 大家使用的时候,将sql脚本中的红色[TestDB] 换成你的目标数据库名称. /************************************ ...

  6. 修改pip安装源加快python模块安装

    用pip安装依赖包时默认访问https://pypi.python.org/simple/,但是经常出现不稳定以及访问速度非常慢的情况,国内厂商提供的pipy镜像目前可用的有: http://pypi ...

  7. vue-cli 构建的项目中 如何使用less

    vue-cli 构建的项目默认是不支持 less 的,需要自己添加. 首选,安装 less 和 less-loader ,在项目目录下运行如下命令 npm install less less-load ...

  8. 第三篇 request篇

    每个框架中都有处理请求的机制(request),但是每个框架的处理方式和机制是不同的 为了了解Flask的request中都有什么东西,首先我们要写一个前后端的交互 基于HTML + Flask 写一 ...

  9. python学习:缩进

    缩进 一要求: 官方建议打四个空格.tab键不建议使用,放到其他操作系统容易出现混乱.(打四个空格太费劲) 二实现: 简便方法:每按一下tab键自动换成四个空格.notepad++ 设置里首选项-制表 ...

  10. react-native android textinput显示不全的问题

    出现的问题 如下图 原因 android 输入框默认带有上下内边距 解决 将Textinput元素样式的垂直内边距设置为0 paddingVertical: 0