Djiago

目录介绍

mysite/
├── manage.py  # 管理文件
└── mysite  # 项目目录├── __init__.py├── settings.py  # 配置├── urls.py  # 路由 --> URL和函数的对应关系└── wsgi.py  # runserver命令就使用wsgiref模块做简单的web server

模板文件配置:

TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [os.path.join(BASE_DIR, "template")],  # template文件夹位置'APP_DIRS': True,'OPTIONS': {'context_processors': ['django.template.context_processors.debug','django.template.context_processors.request','django.contrib.auth.context_processors.auth','django.contrib.messages.context_processors.messages',],},},
]

静态文件配置:

STATIC_URL = '/static/'  # HTML中使用的静态文件夹前缀
STATICFILES_DIRS = [os.path.join(BASE_DIR, "static"),  # 静态文件存放位置
]

刚开始学习时可在配置文件中暂时禁用csrf中间件,方便表单提交测试。

MIDDLEWARE = ['django.middleware.security.SecurityMiddleware','django.contrib.sessions.middleware.SessionMiddleware','django.middleware.common.CommonMiddleware',# 'django.middleware.csrf.CsrfViewMiddleware','django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.messages.middleware.MessageMiddleware','django.middleware.clickjacking.XFrameOptionsMiddleware',
]

Django基础必备三件套

from django.shortcuts import HttpResponse, render, redirect

HttpResponse

内部传入一个字符串参数,返回给浏览器。
例如:

def index(request):# 业务逻辑代码return HttpResponse("OK")

render

除request参数外还接受一个待渲染的模板文件和一个保存具体数据的字典参数。

将数据填充进模板文件,最后把结果返回给浏览器。(类似于我们上面用到的jinja2)

例如:

def index(request):# 业务逻辑代码return render(request, "index.html", {"name": "alex", "hobby": ["烫头", "泡吧"]})

redirect

接受一个URL参数,表示跳转到指定的URL。

例如:

def index(request):# 业务逻辑代码return redirect("/home/")

重定向是怎么回事?

文档结构

urls

用来创建服务器地址列表,当用户访问时,根据匹配到的地址执行相应的函数,函数在view的py文件中

from django.conf.urls import url
from ..view.code import index,login,texturlpatterns = [#服务器的路径列表,用户访问时执行相应的函数url(r'^home/$', index),url(r'^login/$', login),url(r'^text/$',text),
]

code

from django.contrib import admin
from django.shortcuts import HttpResponse,render,redirectdef index(request):return  render(request,'Dashboard Template for Bootstrap.html')def login(request):#判断请求方法是get还是postif request.method=='POST':#获取表单提交的用户名和密码name = request.POST.get('email', None)pwd = request.POST.get('pwd', None)#对密码进行判断if name == 'kingfan' and pwd == '123':#登录成功则重定向网页return redirect('/home/')else:#不成功则修改网页中的特殊字符返回网页return render(request, '登陆实例.html', {'msg': '用户密码错误'})return render(request,'登陆实例.html')def text(request):return HttpResponse('HELLO Kingfan')

转载于:https://www.cnblogs.com/Kingfan1993/p/9850208.html

创建第一个Djiago相关推荐

  1. 创建第一个 local network(I) - 每天5分钟玩转 OpenStack(80)

    在 ML2 配置文件中 enable local network 后,本节将开始创建第一个 local network. 我们将通过 Web GUI 创建第一个 local network. 首先确保 ...

  2. 几分钟让小孩的人物涂鸦「动起来」,Meta AI创建了一个奇妙的火柴人世界

    视学算法报道 编辑:杜伟.陈萍 Meta AI 让儿童手绘「活」了起来. 你有没有想过将一张儿童绘画制作成动画?就如下图,儿童能够绘制出独特和富有创造力的人物和动物:长着双脚的星星.腿超级长的鸟-- ...

  3. spring (由Rod Johnson创建的一个开源框架)

    你可能正在想"Spring不过是另外一个的framework".当已经有许多开放源代码(和专有)J2EEframework时,我们为什么还需要Spring Framework? S ...

  4. Flutter初体验(二)—— 创建第一个Flutter APP

    Flutter初体验(二)--- 创建第一个Flutter APP 在第一篇文章 Flutter初体验(一)---Mac 安装配置,学习了配置 Flutter 开发环境,并运行了Demo项目,本篇根据 ...

  5. 创建第一个IOS项目

    今天我们创建第一个IOS项目,并在模拟器上运行 首先进入Xcode 点击创建新项目后,接下来该给项目起一个名字啦 HelloWorld! 点击下一步,开始选择模板啦 我们选择SingleView Ap ...

  6. AndroidStudio创建第一个 Flutter 应用程序

    AndroidStudio创建第一个 Flutter 应用程序: 转到文件->新建flutter项目. 选择Flutter Application并按下一步按钮. 在下一个窗口中,您将看到您的项 ...

  7. 云炬Qtpy5开发与实战笔记 2PyCharm添加QTDesinger扩展并创建第一个.ui文件

    1.配置使用QTDesigner扩展工具 在pycharm的项目配置中配置扩展工具,将QTDesigner加入其中: 2.在pycharm中打开QTDesigner 或者: 此时,我们就可以使用QTD ...

  8. 五十一、创建第一个Maven项目和pom.xml 详解

    @Author:Runsen @Date:2020/6/12 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏 ...

  9. WatchOS系统开发大全(3)-创建第一个WatchApp工程

    创建第一个WatchApp工程 1.1-WatchOS2.0之后工程的创建 (1)点开xcode新建一个工程,选择Watch OS直接建一个Watch应用,点击next输入项目名称进行下一步 因为Wa ...

  10. ITK:创建另一个图像实例

    ITK:创建另一个图像实例 内容提要 输出结果 C++实现代码 内容提要 创建图像的另一个实例. 输出结果 Image type FloatScalarImageType Image type Flo ...

最新文章

  1. system.gc会立即执行垃圾回收吗_JVM垃圾回收系列之 垃圾回收器
  2. php有意思知识分享,分享几个有意思的数组方法
  3. ESXI主机定时重启脚本
  4. 修改lastpass主密码后需重启firefox才能加载已保存的站点密码或用导入工具
  5. php上传文件到七牛云源码,laravel上传文件到七牛云存储
  6. 制作一个大风车加载条
  7. 代码补全_补全股票代码位数的一百种姿势
  8. 11组软件工程组队项目失物招领系统——界面设计文档
  9. TIOBE 4 月编程语言排行榜:Python 让位,老将 C++ 夺回前三,PHP 惨遭抛弃!
  10. linux 添加定时器,linux 添加定时任务
  11. Eclipse3.5的使用配置
  12. 对WordCOM类工厂80070005和8000401a错误分析及解决办法(DCOM)的补充
  13. MySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据?
  14. 虚拟机IP地址和主机名称配置
  15. 网关和路由器的区别?
  16. 【数据结构与算法】计算机之父
  17. apollo之集群部署(二)
  18. win10检查更新后,蓝牙没了,卸载usb也没有用,蓝牙 未知usb设备 设备描述符请求失败
  19. 雷电模拟器如何备份游戏登陆状态,并还原登陆状态 免扫码。
  20. 【Python】 网格策略回测(日内高频数据)

热门文章

  1. Chrome常用插件和油猴(Tampermonkey)脚本使用及常用脚本分享(网盘)
  2. HIVE 命令行操作和参数指引
  3. centos6.5编译安装mysql_Centos6.5编译安装mysql 5.7.14详细教程
  4. 阶段3 1.Mybatis_01.Mybatis课程介绍及环境搭建_01.mybatis课程介绍
  5. 课后作业3:软件与用户体验调查与分析
  6. Java查看class的JVM,指令集文件--javap -c ClassName
  7. mysql-cluster5.7搭建集群(实际测试有效)
  8. 507 LOJ 「LibreOJ NOI Round #1」接竹竿
  9. JavaScript Number 对象
  10. Servlet和JSP的异同。