1.django核心功能

  因为django功能很多 ,出版社可以使用到部分功能,最快最简单了解django的运行模式,每个点后续细化去梳理

  django的路由

  django的视图

  django的模板

  django的ORM

  django的cookie与session

  django的中间件

  django的ajax

  django的form组件

  django的auth

2.django的全局配置文件setting.py

  BASE_DIR      #项目文件夹 ,系统中绝对路径

  DRBUG        #调试开启,上线关闭

  ALLOWED_HOST    #允许访问的网段

  INSTALLED_APPS   #注册app ,到项目中

  MIDDLEWARE     #中间件

  ROOT_URLCONF     #根路由文件所在

  TEMPLATES      #存放html的模板的路径

  DATABASES      #数据库目录

  STSTIC_URL     #每个app下具体存放静态文件的目录

  STATICFILES_DIRS       #项目通用静态资源存放路径

  LANGUAGE_CODE  #语言

  TIME_ZONE      #时区

3.登录页

  1) 设计url跳转views函数

  2) views函数设计业务逻辑 ,根据请求返回模板页面

  3) 模板页面可以接受views函数的数据

####urls.py

url(r'^app01/', include('app01.urls',namespace='app01'))

####views.py
def login(request):
err_msg = ''
if request.method == 'POST':
user = request.POST.get('username')
passwd = request.POST.get('password')
print(user, passwd)
if user == 'qgw' and passwd == '123':
return render(request, 'cbs.html')
err_msg = '账号密码错误'
return render(request, 'login.html', {'err_msg': err_msg}) ####login.html cbs.html 从jquery的第三方库中直接扒取

4.出版社

  1)设计表orm对象关系管理模型

  2)设计url包括查询,新增,删除,修改操作

  3)视图函数针对url的访问执行

  4)模板设计使用公共模板,通过数据修改模板内容

####models.py####  仅展示名字
class presslist(models.Model):
name = models.CharField(max_length=32) ####url.py#### 提供增删改查四个url与对应的函数
url(r'^press/list', views.presslist),
url(r'^press/del', views.pressdel),
url(r'^press/add', views.pressadd),
url(r'^press/edit/', views.pressedit),
####views.py####   完成业务的函数
from django.shortcuts import render, redirect
from app1 import models # Create your views here.
def login(request):
err_msg = ''
if request.method == 'POST':
user = request.POST.get('username')
passwd = request.POST.get('password')
if models.login.objects.filter(password=passwd, name=user):
return render(request, 'cbs.html')
err_msg = '账号密码错误'
return render(request, 'login.html', {'err_msg': err_msg}) def presslist(request):
msg_all = models.presslist.objects.all()
return render(request, 'cbs.html', {'msg': msg_all}) def pressadd(request):
if request.method == 'POST':
press_name = request.POST.get('pressname')
models.presslist.objects.create(name=press_name)
return redirect('/press/list')
return render(request, 'cbsadd-edit.html') def pressdel(request):
del_id = request.GET.get('id')
print(del_id)
models.presslist.objects.get(pk=del_id).delete()
return redirect('/press/list') def pressedit(request):
edit_id = request.GET.get('id')
obj = models.presslist.objects.get(pk=edit_id)
msg = ''
if request.method == 'POST':
obj.name = request.POST.get('pressname') if models.presslist.objects.filter(name=obj.name):
msg = '已存在' if not obj.name:
msg = '不能为空' if not models.presslist.objects.filter(name=obj.name) and obj.name:
obj.save() return redirect('/press/list')
return render(request, 'cbsadd-edit.html', {'obj': obj, 'msg': msg})
####tempalte目录####   完成所需的动态页面

base.html 基础母版 ,在bootstrap中的样式中直接下载使用
####tempalte/cbs.html
{% extends 'base.html' %}
{% block body1 %}
<table class="text-center table table-striped table-bordered">
<tr>
<td>ID</td>
<td>出版社名字</td>
<td>操作</td>
</tr>
{% for obj in msg %}
<tr>
<td>{{ obj.pk }}</td>
<td>{{ obj.name }}</td>
<td><a href="/press/edit/?id={{ obj.pk }}"><i class="fa fa-pencil-square-o" aria-hidden="true">&nbsp&nbsp&nbsp</i></a><a href="/press/del/?id={{ obj.pk }}"><i class="fa fa-remove" aria-hidden="true"></i></a></td>
</tr>
{% endfor %}
</table>
{% endblock %}
####tempalte/cbsadd-edit
{% extends 'base.html' %}

{% block body1 %}
<form action="" method="post">
<div style="margin-left: 100px;margin-top: 50px;" class="col-md-6 ">
<input type="text" class="form-control" name="pressname" placeholder="{{ obj.name }}">{{ msg }}
</div>
<div style="margin-left: 10px;margin-top: 50px;" class="col-md-2 ">
<button type="submit" class="btn btn-primary">提交</button>
</div>
</form>
{% endblock %}

  

django2-登录与出版社的更多相关文章

  1. 基于 Django2 实现邮箱注册登录功能

    1. 开发环境 Python 3.6.5 Django 2.2 2. 项目功能 用户登录 邮箱注册 图形验证码 找回密码 修改密码 用户退出 3. 项目创建 首先创建项目: django-admin ...

  2. 使用Django2.0.4集成钉钉第三方扫码登录

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_124 钉钉作为阿里旗下的一款免费移动通讯软件,受众群体越来越多,这里我们使用Django来集成一下钉钉的三方账号登录,首先注册钉钉 ...

  3. Django2.0使用

    创建项目: 通过命令行的方式:首先要进入到安装了django的虚拟环境中.然后执行命令: django-admin startproject [项目的名称] 这样就可以在当前目录下创建一个项目了. 通 ...

  4. linux远程登录(Telnet、SSH)

    系统:RHEL 5.5 64位,使用CentOS的yum源并作更新处理 参考书目<Linux兵书>/电子工业出版社/刘丽霞,细节之处稍有变动. 一.Telnet(远程登录推荐SSH) 1. ...

  5. 爬虫学习之基于Scrapy的爬虫自动登录

    ###概述 在前面两篇(爬虫学习之基于Scrapy的网络爬虫和爬虫学习之简单的网络爬虫)文章中我们通过两个实际的案例,采用不同的方式进行了内容提取.我们对网络爬虫有了一个比较初级的认识,只要发起请求获 ...

  6. 图书管理系统设置登录验证(cookies)

    先前做的图书管理登录页面虽然有那个页面,在你登录之后他会在数据库中查找值,然后验证,最后跳转到指定页面,,可是当你直接访问那个指定页面的时候不用登录也可以登录那个指定的页面: 由于前段时间已经做过图书 ...

  7. Django2.0文档

    第四章 模板 1.标签 (1)if/else {% if %} 标签检查(evaluate)一个变量,如果这个变量为真(即,变量存在,非空,不是布尔值假),系统会显示在 {% if %} 和 {% e ...

  8. python3下Django2.0配置最新xadmin详解

    1,打开pycharm,创建一个Django项目 2,安装Django,默认是最新版本,pip3 install -i https://pypi.douban.com/simple/ django 3 ...

  9. 【Python3.6+Django2.0+Xadmin2.0系列教程一】环境搭建及项目创建

    由于工作需要,接触了大半年时间的Django+xadmin框架,一直没空对这块对进行相关的梳理.最近在同事的怂恿下,就在这分享下笔者的学习及工作经验吧. 好了,话不多说,下面开始进入正题: 环境需求: ...

  10. python3+django2 开发易语言网络验证(上)

    创作背景: 在某论坛中下载到一套php开发易语言网络验证的教程,照着看下来,花了两天的时间,结果发现教程里开发的网络验证,以及随着教程一起给学员的源码,都存在着根本用不了的bug!我想要看看能不能在原 ...

随机推荐

  1. (三十八)c#Winform自定义控件-圆形进度条-HZHControls

    官网 http://www.hzhcontrols.com 前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kww ...

  2. centos7.2安装及管理docker

    使用的操作系统是是centos7.2,按照官方的推荐的配置,把linux内核升级到3.8以上.安装步骤如下: 1.升级内核版本(包含aufs)cd /etc/yum.repos.dwget http: ...

  3. vue.js+THREE.js演示服务端3D模型流程总结

    three.js官网 ·场景搭建 使用npm或者其他获取安装three,就像npm i three,之后在需要演示模型的vue组件内import * as THREE from 'three',此时我 ...

  4. 【转】Kotlin的inline内联函数

    原文链接:https://blog.csdn.net/Jaden_hool/article/details/78437947 方法调用流程 调用一个方法是一个压栈和出栈的过程,调用方法时将栈针压入方法 ...

  5. 单片机固件烧录器 Firmware Writer Android APP

    GitHub地址 :https://github.com/WallBreakerX/mcu_firmware_writing_via_androidphone ​ 用途 可在安卓手机上实现向单片机的h ...

  6. Hadoop HA 架构

    为什么要用集群? 企业里面,多台机器 伪分布式 每一个角色都是一个进程 HDFS: NN SNN DN YARN: RM NM 大数据所有组件, 都是主从架构 master-slave HDFS读写请 ...

  7. [20191106]善用column格式化输出.txt

    [20191106]善用column格式化输出.txt # man columnDESCRIPTION     The column utility formats its input into mu ...

  8. 微信小程序之上传图片和图片预览

    这几天一直负责做微信小程序这一块,也可以说是边做边学习吧,把自己做的微信小程序的一些功能分享出来,与大家探讨一下,相互学习相互进步. 先看下效果图 只写了一下效果样式的话希望大家不要太在意,下面马路杀 ...

  9. JAVA跨域、RestTemplate高并发下异常与配置、JSON数据Long转String

    ## 跨域支持 import org.springframework.context.annotation.Bean; import org.springframework.context.annot ...

  10. Scrum会议(第十一周)

    十一周会议 1.任务分配: github相关代码 2.会议记录: 总结并阐述了自己在上周存在的问题以及解决了自己把自己的issue发在了自己的github,并没有把问题发在我们项目小组的项目的issu ...