Fork me on GitHub

Django笔记(一)

基本目录结构

  • settings
    • ROOT_URLCONF
    • 指定项目的基础路由配置文件
    • DATABASES
    • 指定数据库的配置信息

Django注意点

  • 1 服务器启动以后无需关闭,修改后服务器会自动重启

URL的使用

  • 1 urls.py
    • 默认是在主目录中,主路由配置文件,会包含最基本的地址映射
    • 每个请求到达之后,会由urls.py中的urlpatterns列表中的url()进行匹配
  • 2 在Django2.1中 常用path和re_path来匹配路由
  • 3 url()函数匹配上之后,可能将请求转交给其他的urls.py或视图Views去处理

Django路由分发案例

  • 主路由
from django.contrib import admin
from django.urls import path,include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('web/', include('web.urls')),
]
Python
  • 应用路由
from django.urls import path
from . import views
urlpatterns = [
    path('index/', views.index),
]
Python
  • 最终访问路径 ip:端口/web/index

HTTPResponse

  • from django.shortcuts import render, HttpResponse
  • 所在模块 django.shortcuts shortcuts在英文中是快捷键的意思
  • 实际案例源码
from django.shortcuts import render, HttpResponse


# Create your views here.
def index(request):
    return HttpResponse('index')
Python

视图函数

  • def 视图名字(request) request里面保存了所有的请求信息
  • 重新回顾了一个月的PHP,发现PHP真的垃圾
  • 不过也不是全无所获,学会了很多的编程思想,对数据库的操作更进一步

注意

  • 应用路由的开头不要写/ re_path(r'^test/$',views.test)

urls.py

url函数

  • url函数的语法
    • url(regex,views,kwargs=None,name=None)
    • regex 正则表达式,匹配请求的url
    • views 视图处理函数或其他的urls.py
    • kwargs 字典,用来向views传参的,没有参数可以省略
    • name,给url()起别名,主要在模板中使用
  • 案例
urlpatterns = [
    path('index/', views.index),
    re_path(r'^test/$',views.test)
]

Python

通过URL向views传参

  • http://localhost:8000/goods/商品id
  • 主要有两种方式
    • 使用正则表达式必须掌握
    • 使用字组传参,一个子组是一个参数
    • 想要多个参数的话则可以使用多个子组
    • re_path(r'run/',run_views)
    • re_path(r'run/数字') 如何处理数字
    • re_path(r'run/(\d{2},run_args_views)')用正则表达式分组
    • 访问路径是run/四位数字/两位数字 交给run1_views处理
    • re_path(r'run/(\d{4})/(\d{2}),run1_views')
    • 字典传参
    • re_path(r'^show/',show_views,{'name':'abccc','age':88})
    • 基本上用不到
    • 注意:
      • 视图处理函数中,必须声明参数
      • 参数的名称和位置,必须与字典中的名称和位置保持一致
  • 注意
    • 在url()中,一个子组()表示一个参数
    • 在views.py中,对应的处理函数,要根据url()函数中子组的个数,相应的对应参数,对应的参数要位于request之后
    • 案例
    • re_path(r’run/正则表达式/正则’)—-def view(request,参数1,参数2)
  • 至少说了三遍了,能用python实现的,不要考虑其他语言,优势太大….

Django中的应用

什么是应用

  • 应用就是网站中一个独立的程序模块
  • 在Django中,主目录一般不处理用户的具体请求
  • 主目录主要做的是项目的初始化和设置,以及请求的分发

创建应用

  • 命令 ./manage.py startapp 应用名称
  • 案例
    • python manage.py startapp news
  • 在settings.py中进行设置 INSTALLED_APPS[]把应用名称加在最后面

应用的结构组成

  • migrations目录
    • 存放数据库中间文件(日志文件)
  • __init__.py
    • 初始化文件
  • admin.py
    • 应用的后台管理配置文件
  • apps.py
    • 应用的属性配置文件
  • models.py
    • 模型文件,与数据库有关
  • tests.py
    • 测试模块
  • views.py
    • 视图模块
posted @ 2019-03-11 11:01  seymourgao  阅读(131)  评论(0编辑  收藏  举报