首页 > 其他分享 >第一节课django环境搭建

第一节课django环境搭建

时间:2023-01-01 17:33:54浏览次数:31  
标签:detail 第一节 视图 django 虚拟环境 kwargs path 搭建

第一课django环境搭建

前言

Web框架:url,请求对象,响应对象,模板引擎

常见框架:Django框架<全能型框架MTV>/Web.py/flask框架<已经停止维护>/Tornado<facebook维护>

Web应用框架的设计模式:MTV<Model/Template/View> MVC

M:Models 模型:负责业务数据对象与数据库对象;

T:Templates:负责如何把数据展示给用户

V:Views:视图 负责业务逻辑

MVC

V:视图,负责与用户交互的页面

C:控制器,接收用户的输入调用模型与视图

环境准备

-ubuntu

-python 3.6+

-pycharm 2017.1.5+

-Mysql

推荐封装好的Ubuntu或者Virtual box

Python 虚拟环境的重要性

-什么是python虚拟环境

  • 通过工具,将系统上的python复制了一份避

优点:

  • 不会污染本地系统
  • 不同项目环境的隔离

创建虚拟环境:

cd / :根目录

cd ~ :家目录

创建虚拟环境路径: cd ~/.virtualenvs

横行显示:ll

workon: 进入环境

查看当前有哪些虚拟环境:workon
创建虚拟环境:mkvirtualenv -p /urs/bin/python3 envname;
进入虚拟环境:workon envnamee
退出虚拟环境:deactive
删除虚拟环境: rmvirtualenv envname

Django安装

Pip install django

Django简单操作:

创建项目:

django-admin startproject +项目名称

Pycharm远程创建:

image-20221210064309122

pycharm config设置

image-20221210065252306

启动django项目:

python manage.py runserver 0:8000

image-20221210070410491

为了方便pycharm快速启动项目,配置django configration:

image-20221210072750223 image-20221210072814328

创建命令****: python manange.py startapp app_name

创建视图:

第二节课django URL路由分配以及模板渲染方式

  1. URL:全球统一资源定位符

    http://127.0.0.1:8000/hello/
    URL解释:
    schema://host[:port#]/path/.../[?query-string][#anchor]
    schema:指定使用的协议(例如:http, https, ftp)
    host:Http服务器的IP地址或者域名
    port:端口号,http默认是80端口
    path:访问资源的路径
    query-string:发送给http服务器的数据
    anchor:锚点# 
    
    
  2. django路由系统;

当一个请求来到时:

​ 1.首先到项目目录下的urls.py(根据URLconf模块)中,查找路由规则

image-20221215210812453

​ 2.根据URLconf模块,里面定义了urlpartterns变量

​ 3.urlpatterns是一个(Django.urls.path,django.url.re_path对象)列表

​ 4.按顺序运行每个url模块,在第一个匹配的模式停止;

​ 5.一旦匹配,django导入并调用给定的视图

​ 6.如果没有匹配到,就返回报错:“404”

​ -Path(route,view,kwargs = None,name = None)

​ -route 是一个字符串的url规则

​ -view是个视图

​ -kwargs 额外参数,传递给view,必须是一个字典;不是不定长参数,前缀没有**kwargs

​ -name url的命名

-在urls中捕获参数

urlpatterns = [
    path('admin/', admin.site.urls),
    path("index/",views.index),
    path("detail/<pk>",views.detail) # 在URL规中使用'<>'可以捕获url中的值传给视图
    path("detail/<pk>/<slug>/",views.detail),
    path("detail/<pk>-<slug>/",views.detail),
  
#视图
    def detail(request,pk):
    	return HttpResponse("学生ID为%s的详情页"%pk)

​ -路径转换器

​ 案例:int:pk

 path("detail/<int:pk>-<slug>/",views.detail)#利用类型转换路径为int类型

-常用转换器:

​ -str 匹配除了'/'路径分隔符之外的所有字符串

​ -int 匹配任意整数

​ -UUID 格式化 ID

​ -匹配任意ascii字符,加上连字符和下划线

​ -path,匹配任意非空字符

-使用re_path;

​ python正则命名方式re_path:正则表达式:(?pattern)

    re_path('student/(?P<year>\d{4})/(?P<month>[0-9]|1[0-2])/',views.student)
    
    def student(request,year,month):
    	return HttpResponse("%s年%s月报名的学生列表"%(year,month))

Django Url搜索什么:

只搜索路径,不搜索参数和请求方式POST,GET

-传递额外参数

path,re_path 方法,传递一个kwargs的字典参数,传递给视图函数

**********当kwargs中的key与url捕获的key一致的时候,以kwargs为准

   path('index/<pk>/',views.index,kwargs = {'pk':10}),

如果需要在每个url去使用,可以在总路由去设置kwargs = {'slug':True}

  • URL 命名

    页面重定向;可以跳转页面

    def home(request):
        return  redirect("https://www.baidu.com/")
    

标签:detail,第一节,视图,django,虚拟环境,kwargs,path,搭建
From: https://www.cnblogs.com/calmliu/p/17018309.html

相关文章

  • Django模型层
    目录模型层与ORM一、初步认识ORM二、ORM常用关键字三、ORM查询SQL语句的方法四、神奇的双下划线查询五、ORM外键字段创建1.ORM外键字段创建理论铺垫2.ORM外键字段创建相关......
  • Django——全局配置settings详解
    Django设置文件包含你所有的Django安装配置。这个文件一般在你的项目文件夹里。比如我们创建了一个名为mysite的项目,那么这个配置文件setting.py就在项目里的mysite文件夹......
  • Django模板层
    目录Django模板层一、关于模板语法二、模板层之标签二、自定义过滤器、标签三、模板的继承与导入四、模板层前期准备Django模板层一、关于模板语法针对需要加括号调用的......
  • Django视图层
    目录Django视图层一、视图层之必会三板斧二、JsonResponse对象三、request对象四、视图层之FBV与CBV五、CBV源码剖析六、虚拟环境Django视图层一、视图层之必会三板斧用......
  • window下java开发环境搭建 (JDK卸载与安装、配置)
    1.卸载JDK查看安装目录:此电脑->右键选择属性->高级系统设置->环境变量->查看系统变量那一栏中的JAVA_HOME变量。变量值就是JDK的安装目录将该安装目录下的JDK程......
  • 自动化测试训练营——环境搭建(jdk+mysql+maven+IDEA)
    前言虽然已经有了写自动化脚本的经验,但是从来没有系统的学习过,在工作过程中也一直是懵懵懂懂,因为公司一切东西都已经是流程化了,现成的框架和技术,我不懂原理,也没有人问。在......
  • Django中关于Manager的使用
    首先介绍一下manager的使用场景,比如我们有一些表级别的,需要重复使用的功能,都可以使用manager来实现。比如我们在前面的笔记中介绍的model的create()、update()等......
  • Django rest framework
    环境:事先安装python、虚拟环境、django,项目的创建省略。国内清华大学镜像pipinstallpython==3.10.5-ihttps://pypi.tuna.tsinghua.edu.cn/simple/pipinst......
  • 用FreeRTOS搭建Event-Driven应用框架(转载)
    用FreeRTOS搭建Event-Driven应用框架(转载)转载网址:https://cloud.tencent.com/developer/article/1855129今天来分享一下,之前项目中使用FreeRTOS搭建的Event-Driven事件驱......
  • centos8使用kubeadm搭建高可用k8s集群
    kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。这个工具能通过两条指令完成一个kubernetes集群的部署:#创建一个Master节点kubeadminit#将一个......