创建项目

创建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 (一) 基础的更多相关文章

  1. Python之路【第十六篇】:Django【基础篇】

    Python之路[第十六篇]:Django[基础篇]   Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了O ...

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

    Python开发[第二十一篇]:Web框架之Django[基础]   猛击这里:http://www.cnblogs.com/wupeiqi/articles/5237704.html Python之 ...

  3. 【Python全栈-后端开发】Django入门基础-2

    Django入门基础知识-2 一 .模版 一.模版的组成 HTML代码+逻辑控制代码 二.逻辑控制代码的组成 1  变量(使用双大括号来引用变量) {{var_name}} 2  标签(tag)的使用 ...

  4. Django笔记 —— 基础部分总结

    最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...

  5. Django 08 Django模型基础3(关系表的数据操作、表关联对象的访问、多表查询、聚合、分组、F、Q查询)

    Django 08 Django模型基础3(关系表的数据操作.表关联对象的访问.多表查询.聚合.分组.F.Q查询) 一.关系表的数据操作 #为了能方便学习,我们进入项目的idle中去执行我们的操作,通 ...

  6. Django 07 Django模型基础2 (常用查询和多表关联)

    Django 07 Django模型基础2 (常用查询和多表关联) 一.常用查询 #查找数据 def search_user(request): #获取 rs = User.objects.first ...

  7. Django 06 Django模型基础1(ORM简介、数据库连接配置、模型的创建与映射、数据的增删改查)

    Django 06 Django模型基础1(ORM简介.数据库连接配置.模型的创建与映射.数据的增删改查) 一.ORM系统 #django模型映射关系 #模型类-----数据表 #类属性-----表字 ...

  8. Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基础文件配置,Web框架的本质,服务器程序和应用程序(wsgiref服务端模块,jinja2模板渲染模块)的使用

    Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基 ...

  9. django 的基础设计

    一.web程序工作流程 二.django  的基础介绍 目的:了解Django框架的作用和特点 作用: 简便.快速的开发数据库驱动的网站 Django的优势 快速开发 MVT 功能齐全 Django学 ...

  10. 【Django】--基础知识

    一 什么是web框架? 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. Web应 ...

随机推荐

  1. LeetCode 第15题-三数之和

    1. 题目 2.题目分析与思路 3.思路 1. 题目 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且 ...

  2. 在python中使用redis 初识

    一.下载redis模块 pip3 install -i https://pypi.douban.com/simple redis 二.创建单连接 import redis # 创建链接 conn = ...

  3. 4.JavaSE之标识符

    标识符:Java所有的组成部分都需要名字.类名.变量名以及方法名都被称为标识符. 关键字:abstract.assert.boolean.breake.public.static.class...

  4. NOI2019 酱油记

    今天是 \(7.18\) ,考完二试炸的很惨-于是我就来写游记了. DAY 0 签到日(7.14) 还没起床,原先定的飞机就被取消了,只好改签. 然而还是很早到的机场,等了好久好久. 到广州咯~下大雨 ...

  5. 机器学习回顾篇(15):集成学习之GDBT

    .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...

  6. 用tensorflow的Eager执行模式

    一.即时执行模式 import tensorflow as tfimport tensorflow.contrib.eager as tfetfe.enable_eager_execution() a ...

  7. NOde.js的安装和简介

    1.nodejs的安装 1.1 检测nodejs的版本 node -v (version:版本) 1.2 path配置nodejs 的环境变量(当前版本都是自动安装配置环境变量)指令: path 1. ...

  8. git hub安装

    windows下GitHub的安装.配置以及项目的上传过程详细介绍 阅读目录 概要 操作必备 GitHub的安装 Git的初始配置 本地Git与远程GitHub连接的建立 将本地项目上传到GitHub ...

  9. 百度ai 接口调用

    1.百度智能云 2.右上角 管理控制台 3.左上角产品服务 选择应用 4.创建应用 5.应用详情下面的查看文档 6.选择pythonSDK  查看下面快速入门文档  和  接口说明文档. 7.按步骤写 ...

  10. Redis入门,Jedis和常用命令

    一.Redis简介 1.关于关系型数据库和nosql数据库 关系型数据库是基于关系表的数据库,最终会将数据持久化到磁盘上,而nosql数据     库是基于特殊的结构,并将数据存储到内存的数据库.从性 ...