Python开发【Django】:路由规则

Django请求生命周期:

 -->url对应关系(匹配) ->视图函数->返回用户字符串

 -->url对应关系(匹配)->视图函数->打开一个HTML文件,读取内容

创建django project

  django-admin startproject mysite

  cd mysite

  python manage.py startapp cmdb

  mysite

    mysite

      --配置文件

      -url.py

      -settings.py

  cd mysite

    cmdb

      -views.py

      -admin.py

      -models.py  # 创建数据库表

3、配置

  模板路径

  静态文件路径

  注释 #csrf

4、编写程序

  a.url.py 写对应关系  /index/ -> func

  b. views.py

    def func(request): # request包含所有的请求数据

      ...业务代码

    return HttpResponse(‘字符串‘)

    return render(request,‘index.html‘,{‘‘})

    return redirect(‘url‘)

  c.模板语言

    {% for item in %} 

一、路由系统,url

二、视图

  request.GET

  request.POST

  request.FILES

#checkbox等多选的内容 request.POST.getlist()

  #上传文件

  obj = request.FILES.get(‘name‘)

  obj.name

  f = open(obj.name,mode=‘wb‘)

  for item in obj.chunks():

    f.write(item)

  f.close()

views.py

from django.shortcuts import render,HttpResponse,redirect
# Create your views here.

def index(request):
    return HttpResponse(‘Index‘)

‘‘‘
def login(request):
    if request.method == ‘GET‘:
        return render(request,‘login.html‘)
    elif request.method == ‘POST‘:
        u = request.POST.get(‘user‘)
        p = request.POST.get(‘pwd‘)
        if u == ‘alex‘ and p == ‘123‘:
            return redirect(‘/index/‘)
        else:
            return redirect(‘login.html‘)
    else:
        # PUT,DELETE,HEAD,OPTION...
        return redirect(‘/index/‘)
‘‘‘
def login(request):
    if request.method == ‘GET‘:
        return render(request,‘login.html‘)
    elif request.method == ‘POST‘:
        v = request.POST.get(‘gender‘)
        print(v)
        f = request.POST.getlist(‘favor‘) # 获取checkbox的多人值
        print(f)
        fff = request.FILES.get(‘file‘) # 默认只拿到文件名
        content = request.FILES.get(‘file‘) # 拿文件内容
        print(fff,type(fff))

        return render(request,‘login.html‘)
    else:
        # PUT,DELETE,HEAD,OPTION...
        return redirect(‘/index/‘)
#上传文件的话,form标签要做特殊处理 enctype="multipart/form-data"
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <form action="/login/" method="post" enctype="multipart/form-data">
        <p>
            <input type="text" name="user" placeholder="用户名">
        </p>
        <p>
            <input type="password" name="pwd" placeholder="密码">
        </p>
        <p>
            男:<input type="radio" name="gender" value="1">
            女:<input type="radio" name="gender" value="2">
            张杨:<input type="radio" name="gender" value="3">
        </p>
         <p>
            男:<input type="checkbox" name="favor" value="11">
            女:<input type="checkbox" name="favor" value="22">
            张杨:<input type="checkbox" name="favor" value="33">
        </p>
        <p>
            <select multiple>
                <option value="sh">上海</option>
                <option value="bj">北京</option>
                <option value="tj">天津</option>
            </select>
        </p>
        <p>
            <input type="file" name="file">
        </p>
        <input type="submit" value="提交">
    </form>
</body>
</html>

login.html  

  

Django路由规则

1、基于正则的URL

在templates目录下创建index.html、detail.html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
{% for k,item in user_dict.items %}
    <li><a target="_blank" href="/detail-{{ k }}.html">{{ item.name}}</a></li>
{% endfor %}

</body>
</html>

index.html

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h2>详细信息</h2>
    <h4>用户名:{{ detail_info.name }}</h4>
    <h4>邮箱:{{ detail_info.email }}</h4>
</body>
</html>

detail.html

detail.html

在urls.py文件增加对应路径

from django.conf.urls import url,include
from django.contrib import admin
from cmdb import views

urlpatterns = [
    url(r‘^index‘, views.index),
    url(r‘^detail-(\d+).html/‘, views.detail),
]

  

时间: 2024-11-22 20:56:35

Python开发【Django】:路由规则的相关文章

创建项目以及django路由规则(环境必备 python3.7 django 2.1.3)

本人使用pycharm创建django项目首先选择django创建项目创建完成目录如下在终端键入命令python manage.py startapp model1,python manage.py startapp model2 自动生成模块model1和model2终端键入python manage.py migrate 生成基础库,我采用的默认的sqlite3库,如果要使用别的库,需要在settings.py中配置DATABASES = {'default': {'ENGINE': 'dj

【python】-- Django路由系统(网址关系映射)、视图、模板

Django路由系统(网址关系映射).视图.模板 一.路由系统(网址关系映射) 1.单一路由对应: 一个url对应一个视图函数(类) urls.py: url(r'^test', views.test), #url(r'^home', views.Test.as_view()), views.py: def test(request): print(request.method) return render(request, "home.html") """

Python笔记——Django路由系统

1.创建Django程序 django-admin startproject mysite 创建project python manage.py startapp app01 创建app01 python manage.py startapp app02 创建app02

Python开发【第二十一篇】:Web框架之Django【基础】

Python开发[第二十一篇]:Web框架之Django[基础] 猛击这里:http://www.cnblogs.com/wupeiqi/articles/5237704.html Python之路[第十六篇]:Django[基础篇] Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. 基本配置 一.创建django程序 终端命令:django-a

Python开发【第二十二篇】:Web框架之Django【进阶】

Python开发[第二十二篇]:Web框架之Django[进阶] 猛击这里:http://www.cnblogs.com/wupeiqi/articles/5246483.html 博客园 首页 新随笔 联系 订阅 管理 随笔-124  文章-127  评论-205 Python之路[第十七篇]:Django[进阶篇 ] Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻

《Python高效开发实战》实战演练——开发Django站点1

6.2 实战演练:开发Django站点 用Django开发网站需要遵循Django的一套开发流程.本节通过建立一个消息录入页面演示Django的开发流程及相关技术. 6.12.1  建立项目 在进行Django开发之前需要先用django-admin建立Django项目,语法如下: #django-adminstartproject 站点名称 其中django-admin是安装好Django组件后在Python目录中生成的django项目管理工具.比如,建立一个叫djangosite的开发项目:

Window上python开发--4.Django的用户登录模块User

在搭建网站和web的应用程序时,用户的登录和管理是几乎是每个网站都必备的.今天主要从一个实例了解以下django本身自带的user模块.本文并不对user进行扩展. 主要使用原生的模块. 1.User模块基础: 在使用user 之前先import到自己的iew中.相当与我们自己写好的models.只不过这个是系统提供的models. from django.contrib.auth.models import User # 导入user模块 1.1User对象属性 User 对象属性:usern

windows上Python开发--3.Django的基础知识

最近两天下了班,没事学习了django的开发,今天做个总结.其实大家可以从百度,google搜到一些django的入门视频,初步了解一下django的框架.学习一些基础的概念和知识.本篇主要是对自己这两天做的做个总结. 1.创建第一个views.py 上一篇文章我们在windows上搭建好了django的开发环境并建立一个测试demo. 在settings.py的同级目录下新建views.py目录.并输入以下代码 from django.http import HttpResponse def

[Python] 利用Django进行Web开发

第一步:下载并安装django 首先,在Django官网上下载适合自己Python的Django版本,在安装Django前首先确定你已成功安装了python.         Windows系统下安装Django: 解压缩下载的Django压缩包,找到里面的setup.py文件,然后打开cmd命令窗口,在其对应的路径下执行如下命令: python setup.py install Linux系统下安装Django: 以此在shell中输入如下命令: $ tar xzvf Django-*.tar