一、视图函数(views.py中的函数):第一个参数类型是HttpRequest对象,返回值是HttpResponse对象 二、URLconf(urls.py):绑定视图函数和URL (urlpatterns只有一个空串时django显示欢迎页面) (r'^time/plus/(d)/$', hours_ahead),urls.py用圆括号从正则中提取数据; def hours_ahead(request, offset):...,views.py视图函数的第二个参数是从url中提取的字符串 三、调试,
目录[-] 本教程上接Django 1.10中文文档-第一个应用Part2-模型和管理站点。我们将继续开发网页投票这个应用,主要讲如何创建一个对用户开放的界面。 概览 视图是Django应用中的一“类”网页,它通常使用一个特定的函数提供服务,并且具有一个特定的模板。例如,在博客应用中,可能有以下视图: 博客首页 —— 显示最新发表的博客; 博客“详细”页面 —— 每博客的链接页面; 基于年份的归档页面 —— 显示特定年内所有月份发表过的博客; 基于月份的归档页面 —— 显示特定月份内
实现步骤: 1)创建项目Django_upload:django-admin startproject Django_upload;创建app:cd Django_upload;python manage.py startapp blog。 2)设计模型(M) 这里的模型只包括了两个属性:用户名(即谁上传了该文件);文件名。具体形式如下所示: #coding=utf-8 from __future__ import unicode_literals from django.db import models class NormalUser(models.Model): username=models.CharField('用户名',max_length=30) #用户名 headImg=models.FileField('文件',upload_to='./upload')#文件名 def __str__(self): return self.username class Meta: ordering=['username']#排序风格username 同步数据库:Python manage.py makemigrations python manage.py migrate 3)设计视图(V) view.py: #coding=utf-8 from django.shortcuts import render,render_to_response from django import forms from django.http import HttpResponse from blog.models import * # Create your views here. class NormalUserForm(forms.Form): #form的定义和model类的定义很像 username=forms.CharField() headImg=forms.FileField() #在View中使用已定义的Form方法 def registerNormalUser(request): #刚显示时调用GET方法 if request.method=="POST": uf = NormalUserForm(request.POST,request.FILES)#刚显示时,实例化表单(是否有数据) if uf.is_valid():#验证数据是否合法,当合法时可以使用cleaned_data属性。 #用来得到经过'clean'格式化的数据,会所提交过来的数据转化成合适的Python的类型。 username = uf.cleaned_data['username'] headImg = uf.cleaned_data['headImg'] #write in database normalUser=NormalUser()#实例化NormalUser对象 normalUser.username = username normalUser.headImg = headImg normalUser.save()#保存到数据库表中 return HttpResponse('Upload Succeed!')#重定向显示内容(跳转后内容) else: uf=NormalUserForm()#刚显示时,实例化空表单 return render(request,'register.html',{'uf':uf})#只有刚显示时才起作用 配置urls.py: from django.conf.urls import url from django.contrib import admin from blog.views import * urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^register/$',registerNormalUser), ] 4)设计模板与表单(T)templates/register.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="
前一节是后端的内容,这一节则是前端的内容,我们将继续编写投票应用,并且专注于如何创建公用界面——也被称为“视图”。
目录[-] 开发第一个Django应用,Part7 本教程上接Part6。将继续完成这个投票应用,本节将着重讲解如果用Django自动生成后台管理网站。 自定义管理表单 通过admin.site.register(Question)注册了Question后,Django可以自动构建一个默认的表单。如果您需要自定义管理表单的外观和功能。你可以在注册时通过配置来实现。 现在先来试试重新排序表单上的字段。只需要将admin.site.register(Question)所在行替换为: # polls/admi
專 欄 ❈追梦人物,Python中文社区专栏作者。电子科技大学计算机学院研究生,从事大数据分析研究方向。主要使用 Python 语言进行相关数据的分析,熟练使用 django 开发网站系统。Django开源论坛作者。 博客地址: http://www.jianshu.com/u/f0c09f959299 ❈ 您有一份PyLive主讲人邀请函请查收! Web 应用的交互过程其实就是 http 请求与响应的过程。无论是在 PC 端还是移动端,我们通常使用浏览器来上网,我们的上网流程大致来说是这样的: 我们
Awesome Python 环境管理 管理 Python 版本和环境的工具 我想很多程序员应该记得 GitHub 上有一个 Awesome – XXX 系列的资源整理。awesome-python 是 vinta 发起维护的 Python 资源列表,内容包括:Web框架、网络爬虫、网络内容提取、模板引擎、数据库、数据可视化、图片处理、文本处理、自然语言处理、机器学习、日志、代码分析等。 Awesome Python 环境管理 包管理 包仓库 分发 构建工具 交互式解析器 文件 日期和时间 文本处理 特
Django 处理 HTTP 请求 Web 应用的交互过程其实就是 HTTP 请求与响应的过程。无论是在 PC 端还是移动端,我们通常使用浏览器来上网,上网流程大致来说是这样的: 我们打开浏览器,在地址栏输入想访问的网址,比如 http://zmrenwu.com/(当然你也可能从收藏夹里直接打开网站,但本质上都是一样的)。 浏览器知道我们想要访问哪个网址后,它在后台帮我们做了很多事情。主要就是把我们的访问意图包装成一个 HTTP 请求,发给我们想要访问的网址所对应的服务器。通俗点说就是浏览器帮我们通知网站
本文是自己 Django 学习笔记系列的第四篇原创文章。主要接着篇文章的视图内容,讲解模板的用法。另外也说下 Django 学习笔记系列的安排。自己计划大概 15 篇文章的输出自己学习 Django 框架的内容,再用大概 10 篇文章进行实战开发,最后可能用少量的篇幅进行补充。废话不多说,切回主题。
一、前言 1.1.环境 python版本:3.6 Django版本:1.11.6 1.2.预览效果 最终搭建的blog的样子,基本上满足需求了。框架搭好了,至于CSS,可以根据自己喜好随意搭配。 二、
10、页面侧边栏:使用自定义模板标签 我们的博客侧边栏有四项内容:最新文章、归档、分类和标签云。这些内容相对比较固定,且在各个页面都会显示,如果像文章列表或者文章详情一样,从视图函数中获取然后传递给模板,则每个页面对应的视图函数里都要写一段获取这些内容的代码,这会导致很多重复代码。更好的解决方案是直接在模板中获取,为此,我们使用 Django 的一个新技术:自定义模板标签来完成任务。 使用模板标签的思路 我们前面已经接触过一些 Django 内置的模板标签,比如比较简单的 {% static %} 模板标签
Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。
在之前的程序中,我们直接生成一个字符串,作为http回复,返回给客户端。这一过程中使用了django.http.HttpResponse()。 在这样的一种回复生成过程中,我们实际上将数据和视图的格式
需求:编写注册提交,“密码”与“确认密码”不一致,显示密码不一样。成功后在另一个页面显示 代码操作:
接着上节的继续学习,现在要显示所有主题的页面 有了高效的网页创建方法,就能专注于另外两个网页了:显示全部主题的网页以及显示特定主题中条目的网页。所有主题页面显示用户创建的所有主题,它是第一个需要使用数据的网页。 一 显示所有主题的页面 1 URL模式 #定义learning_logs的URL模式 from django.conf.urls import url from . import views app_name='learning_logs' urlpatterns=[ #主页
我们在很多网站上都可以看到用户注册使用电子邮件激活或启用的方式。也就是说,用户在注册后填写正确的电子邮件地址,接着网站会发送一封启用电子邮件到用户设置的电子邮件的邮箱中,并在邮件中提供一个激活或启用的链接,在用户单击此链接后,账号正式激活或启用。
链接: https://runninginproduction.com/podcast/10-scholarpack-runs-10-percent-of-the-uks-primary-schools-and-gets-huge-traffic
Django安装及简单使用 1.2 代码都在github: URL:https://github.com/njxshr/codes/tree/master/testdj 视图和 URL 配置 在先前创建的 HelloWorld 目录下的 HelloWorld 目录新建一个 view.py 文件,并输入代码: #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/3/26 下午4:37 # @Author : lee # @F
在前面,视图函数返回的只是文本,而在实际应用中其实很少这样用,而是返回带有样式的HTML代码,这可以让浏览器渲染出非常漂亮美观的页面。 DTL即Django Template Language,是指Django自带的模板语言,是一种带有特殊语法的HTML文件,可以被Django编译,还可以传递参数、实现数据动态化。在编译完成后,生成一个普通的HTML文件,然后发送给客户端进行渲染显示。 Django同时也支持配置Jinja2等其他模板引擎,但是作为Django内置的模板语言,DTL可以和Django达到无缝衔接、不会产生不兼容的情况,前提是不采用前后端开发模式。
当博客上发布的文章越来越多时,通常需要进行分页显示,以免所有的文章都堆积在一个页面,影响用户体验。Django 内置的 Pagination 能够帮助我们实现简单的分页功能。
领取专属 10元无门槛券
手把手带您无忧上云