Django (一) 基础
创建项目
创建app python manager.py startapp app01
修改、添加url
from django.conf.urls import url,include
from django.contrib import admin
from app01 import urls as bookurls urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^book/', include(bookurls)),
] #待会在app01添加二级URL目录,事先导入 app01 的url 重命名为bookurls,只要访问book的url全部转给app01下目录下的url文件#处理
app01的url
from django.conf.urls import url,include
from app01 import views
urlpatterns = [
url(r'^$', views.index),
]
修改添加views
from django.shortcuts import render,HttpResponse,HttpResponseRedirect
# Create your views here. def index(request):
return render(request,"index.html") #render 渲染 到index.html页面,注意两个参数,一个request,一个字符串
#HttpResponse 返回写的字符串内容
添加模版 index.html
添加 models
from django.db import models # Create your models here. class Publisher(models.Model):
name = models.CharField(max_length=32,unique=True)
address = models.CharField(max_length=32) def __str__(self):
return "<%s>" %(self.name) class Author(models.Model):
first_name = models.CharField(max_length=32)
last_name = models.CharField(max_length=32)
email = models.EmailField() def __str__(self):
return "<%s %s>" %(self.first_name,self.last_name) class Book(models.Model):
name = models.CharField(max_length=128)
authors = models.ManyToManyField(Author)
publisher = models.ForeignKey(Publisher)
publisher_date = models.TimeField() #以上使用 def __str__(self)的作用
#添加这个是为了,让这个表里的内容显示正常不然显示的是XXXobject
修改settings,在里面添加app01
同步数据库 python manager.py makemigrations python manager.py migrate
修改注册admin
from django.contrib import admin # Register your models here. from app01 import models admin.site.register(models.Author)
admin.site.register(models.Publisher)
admin.site.register(models.Book)
以上没有定义 template index.html文件 访问用的django自带的admin 记得创建用户
python manager.py createsupersuer
基础二:
简单实现 后台数据简单的展示到前端
views先定义需要展现的内容
def index(request):
user_info = [
{'username':'alex','name':'ALEX LI'},
{'username':'2alex','name':'2ALEX LI'},
{'username':'3alex','name':'3ALEX LI'},
{'username':'4alex','name':'4ALEX LI'},
]
return render(request,"index.html",{"user_obj":user_info})
# return render(request,"index.html")
编辑index.html文件 使用jinjia2模版语言
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
{{ user_obj }}
{# <form action="">#}
{# <input><button type="submit">SUB</button>#}
{# </form>#}
</body>
</html>
数据展现之从数据库读取数据展现到前端【记得修改url 添加 url(r'^booklist', views.book), 】
views
from django.shortcuts import render,HttpResponse,HttpResponseRedirect
from app01 import models
# Create your views here. def index(request):
user_info = [
{'username':'alex','name':'ALEX LI'},
{'username':'2alex','name':'2ALEX LI'},
{'username':'3alex','name':'3ALEX LI'},
{'username':'4alex','name':'4ALEX LI'},
]
return render(request,"index.html",{"user_obj":user_info})
# return render(request,"index.html") def book(request):
books = models.Book.objects.all()
if request.method =='POST':
print(request.POST)
return render(request,'book.html',{'books':books}) # return render(request,'book.html',{'books':books})这句话是渲染到book页面,把从数据库取出来的值通过jinja2模版传到前端
book
<body>
<ul>
{% for book in books %}
<li>{{ book.name }}</li>
{% endfor %} </ul>
<form method="post" action="/book/booklist/"> {% csrf_token %}
book name:<input type="text" name="name">
<input type="submit" value="创建新书">
</form>
</body> #如果想在后台展示,必须加 name=“XXX”的字段,不然后头不显示提交的数据
后台会出现提交的内容如下
把提交的内容放入数据库,并在前端展示
def book(request):
if request.method =='POST':
bookname = request.POST.get('name')
print(bookname)
new_book = models.Book(name=bookname,
publisher_id = 1,
publisher_date = '11:12:12' )
new_book.save()
books = models.Book.objects.all()
return render(request,'book.html',{'books':books})
待续......
具体的代码实例参见 https://github.com/mumulizi/day16djangoHomework
Django (一) 基础的更多相关文章
- Python之路【第十六篇】:Django【基础篇】
Python之路[第十六篇]:Django[基础篇] Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了O ...
- Python开发【第二十一篇】:Web框架之Django【基础】
Python开发[第二十一篇]:Web框架之Django[基础] 猛击这里:http://www.cnblogs.com/wupeiqi/articles/5237704.html Python之 ...
- 【Python全栈-后端开发】Django入门基础-2
Django入门基础知识-2 一 .模版 一.模版的组成 HTML代码+逻辑控制代码 二.逻辑控制代码的组成 1 变量(使用双大括号来引用变量) {{var_name}} 2 标签(tag)的使用 ...
- Django笔记 —— 基础部分总结
最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...
- Django 08 Django模型基础3(关系表的数据操作、表关联对象的访问、多表查询、聚合、分组、F、Q查询)
Django 08 Django模型基础3(关系表的数据操作.表关联对象的访问.多表查询.聚合.分组.F.Q查询) 一.关系表的数据操作 #为了能方便学习,我们进入项目的idle中去执行我们的操作,通 ...
- Django 07 Django模型基础2 (常用查询和多表关联)
Django 07 Django模型基础2 (常用查询和多表关联) 一.常用查询 #查找数据 def search_user(request): #获取 rs = User.objects.first ...
- Django 06 Django模型基础1(ORM简介、数据库连接配置、模型的创建与映射、数据的增删改查)
Django 06 Django模型基础1(ORM简介.数据库连接配置.模型的创建与映射.数据的增删改查) 一.ORM系统 #django模型映射关系 #模型类-----数据表 #类属性-----表字 ...
- Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基础文件配置,Web框架的本质,服务器程序和应用程序(wsgiref服务端模块,jinja2模板渲染模块)的使用
Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基 ...
- django 的基础设计
一.web程序工作流程 二.django 的基础介绍 目的:了解Django框架的作用和特点 作用: 简便.快速的开发数据库驱动的网站 Django的优势 快速开发 MVT 功能齐全 Django学 ...
- 【Django】--基础知识
一 什么是web框架? 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. Web应 ...
随机推荐
- TCP/IP协议与HTTP协议(二)
TCP/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据. 1.TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过 ...
- python 装饰器-初识
一.装饰器的形成过程 1.函数无参数,无返回值 import time def f1(): # 无参数,无返回值 time.sleep(1) print("Hello, World!&quo ...
- Java入门 - 语言基础 - 12.Number和Math类
原文地址:http://www.work100.net/training/java-number-math.html 更多教程:光束云 - 免费课程 Number和Math类 序号 文内章节 视频 1 ...
- 「4.0」一个人开发一个App,小程序从0到1,布局
一提到布局这个词,我总是索索发抖,不是因为天冷,而是因为布局的目标实在太宏大.古代想雄霸天下的王,就喜欢布局这个,布局那个,结果硬生生把自己的国家给布局没了.至于是哪个君王,我倒可以非常认真,非常坦诚 ...
- cocos2dx,Layer锚点与scale缩放
最近写代码需要用到缩放,而且是Layer的,但是发现怎么设置位置都是错误,于是决定研究下. 首先,基础代码,代码上不错特殊处理,没有锚点设置和缩放 class TestLayer : public L ...
- Qt Installer Framework翻译(7-3)
控制脚本 对于每个安装程序,您可以指定一个控制脚本,用来与安装程序的部分UI或功能进行交互.控制脚本可以在向导中添加和删除页面,更改现有页面,进行附加检查以及通过模拟用户单击来与UI交互.例如,这允许 ...
- P2869 [USACO07DEC]美食的食草动物Gourmet Grazers
P2869 [USACO07DEC]美食的食草动物Gourmet Grazers 题目:约翰的奶牛对食物越来越挑剔了.现在,商店有M 份牧草可供出售,奶牛食量很大,每份牧草仅能供一头奶牛食用.第i 份 ...
- Miniio对象储存服务器安装教程
#创建minio专用文件目录 mkdir -p /app/minio/data mkdir -p /app/minio/config chmod -R 777 /app/minio/data chmo ...
- RoBERTa模型总结
RoBERTa模型总结 前言 RoBERTa是在论文<RoBERTa: A Robustly Optimized BERT Pretraining Approach>中被提出的.此方法 ...
- Docker基础内容之命令大全
run(未补全) 说明:创建一个新的容器并运行一个命令 语法如下: docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 选项说明: -a stdin: 指定标准 ...