简介

Django是一个由Python编写的具有完整架站能力的开源Web框架。使用Django,只要很少的代码,Python的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的Web服务。

安装

请参考:http://www.liujiangblog.com/course/django/85

理解

Django的全局配置文件,位于项目目录下的 settings.py

DEBUG:是否开启debug模式,当为True开启时,需要配置ALLOWED_HOSTS,不能为空

INSTALLED_APPS:项目新注册的模块,如上图的login文件夹,里面包括是login项目的所有代码

TEMPLATES:前端代码的模板,后面的页面可以继承这个模板页面;主要配置模板路径和名称

'DIRS': [os.path.join(BASE_DIR, 'templates')]

DATABASES:数据库配置,默认使用的是sqlite3,当然也可以使用MySQL、mongo

当配置完成之后,就可以添加app模块了,添加之后,如下

这时,我们就可以设计数据库表了,在models.py文件中

from django.db import modelsclass User(models.Model):gender = (('male', "男"),('female', "女"),)name = models.CharField(max_length=128, unique=True)password = models.CharField(max_length=256)email = models.EmailField(unique=True)sex = models.CharField(max_length=32, choices=gender, default="男")c_time = models.DateTimeField(auto_now_add=True)has_confirmed = models.BooleanField(default=False)def __str__(self):return self.nameclass Meta:ordering = ["-c_time"]verbose_name = "用户"verbose_name_plural = "用户"

  这个class创建了一个User表,其中有字段:name、password、email、sex、c_time、has_confirm

最后运行命令 python manage.py makemigrations 完成数据库表的创建可以通过PyCharm工具查看创建的表

然后可以开始写接口了,开始编辑login下面的view.py

import hashlibfrom django.shortcuts import render
from django.shortcuts import redirect
from login import models
from login.models import User
import time
from django.conf import settings
import datetime# Create your views here.def index(request):print(request.session.get("is_login") is None)if request.session.get("is_login") is None:return render(request, 'login/index.html')else:return redirect('/home')def login(request):if request.session.get("is_login") is True:return redirect('/home')if request.method == "POST":username = request.POST.get('username')password = request.POST.get('password')message = "所有字段都是必填"if username and password:username = username.strip()try:user = User.objects.get(name=username)if user.password == password:request.session['is_login'] = Truerequest.session['username'] = usernamereturn redirect('/home')else:message = "密码错误"except:message = "用户名不存在"return render(request, 'login/login.html', {"message": message})return render(request, 'login/login.html')

在template 下面创建HTML页面,完成前端代码逻辑

最后运行项目,在浏览器访问,如图:

项目代码已上传GitHub:https://github.com/zengfuyang/myweb

整个项目参考 http://www.liujiangblog.com/course/django/2

转载于:https://www.cnblogs.com/byangs/p/10209133.html

Django 入门初探相关推荐

  1. Django 入门项目案例开发(上)

    关注微信公众号:FocusBI 查看更多文章:加QQ群:808774277 获取学习资料和一起探讨问题. Django 入门案例开发(中) http://www.cnblogs.com/focusBI ...

  2. Django入门(二) 理解Django生命流程周期

    接上篇:Django入门-项目创建与初识子应用 项目的数据库模型 这里我们先使用sqlite类型的数据库,后面在进行改变 创建数据库模型 名词: ORM(Object Ralational Mappi ...

  3. django language_Python+Django— 入门通关(三)| admin:后台管理界面

    本节主要告诉大家如何使用Django的后台管理界面. 本节课程代码: https://pan.baidu.com/s/1AfxetY12AjMrILoVml6eCw 提取码:2kle 更多Django ...

  4. Mocha 和 Chai 入门初探

    转载自楼主个人博客 Mocha 和 Chai 入门初探 Chai 在和 jest 作比较的时候, 两者主要的不同就是 jest 的集成度比较高内置断言库, 而 mocha 需要搭配额外的断言库, 在此 ...

  5. django 入门学习规划与资料推荐

    这篇文章总结了我一年多来的 django 学习经验,推荐一些迅速帮助你入门 django 学习的高质量学习资料和教程,让你在一到两个月内快速掌握基本的 django 开发技术,并且能够使用 djang ...

  6. 超实用的Django入门基础教程,新手必备!

    Django入门基础教程 Django简介 安装Django 虚拟环境的建立和准备工作 一.通过pycharm创建 手动创建app 迁移数据库 二.手动创建 创建一个新的文件夹 创建虚拟环境 激活虚拟 ...

  7. Django入门到放弃 学习笔记 03

    跟b站武沛齐老师的视频学习 对学习过程进行一些记录以便复习 同时自我督促 :D冲鸭 视频链接: 15天django入门到放弃-哔哩哔哩. 文章目录 内容回顾 Bootstrap安装 Fontaweso ...

  8. 【Django入门】——模型管理器对象、模型管理器类和模型类

    文章目录 一.模型管理器对象 1. 自定义模型管理器对象 2. 自定义模型管理器类 3. 自定义模型管理器类应用 3.1 重写框架的方法 3.2 封装自定义方法 4. 模型管理器对象的`model`属 ...

  9. Django入门-6:视图-HttpReqeust对象

    HttpReqeust对象 服务器接收到http协议的请求后,会根据报文创建HttpRequest对象 视图函数的第一个参数是HttpRequest对象 在django.http模块中定义了HttpR ...

  10. 第一章:Django入门篇

    文章目录 第一章:Django入门篇 一. web应用 二.HTTP协议(重要) 请求协议 响应协议 响应状态码 URL简介 三.django简介 3.2 目录介绍 3.3 启动项目 3.4 简单示例 ...

最新文章

  1. 技术人员突围就业寒冬的最优途径 | 拿不到AI核心岗位Offer全额退款
  2. IT人不要一辈子做技术
  3. stm32_can错误中断 清除重点
  4. C++11新增的关键字decltype(auto)
  5. int和double究竟占多少个字节?c++等
  6. mysql数据库字段字符转数字批量语句_MySQL数据库批量替换指定字段字符串SQL语句命令...
  7. Easyui Datagrid的Rownumber行号显示问题
  8. Hangover C语言 UVA2294
  9. 工作占用了太多私人时间_私人时间
  10. Java 的运行机制
  11. 【Unity3D日常开发】Unity3D中数字网格类游戏Demo实现
  12. c语言词法分析程序实验报告,词法分析器实验报告
  13. 机器人教练SWOT分析_我国工业机器人产业发展的SWOT分析
  14. uni-app 167将某人踢出群聊(二)
  15. UltraISO软碟通制作U盘时显示:请格式化U盘后再试。
  16. wifi虚拟服务器怎么设置方法,虚拟路由器如何设置
  17. java直接控制飞鹅打印机_智慧餐厅,飞鹅智能云打印机设置教程
  18. 一些STM32核心板选择的稳压芯片
  19. Python:计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整数
  20. Witkey威客平台测评

热门文章

  1. Illustrator 教程,如何在 Illustrator 中使用绘图模式?
  2. JetBrains AppCode:用于 iOS/macOS 开发的智能 IDE
  3. iOS开发之MAC的内存清理,Xcode清理
  4. iOS开发之适配http请求
  5. 如何使用Wondershare PDFelement制作PDF文件
  6. [转载]Hibernate 一对一 双向关联
  7. 代码设计之多渠道支付
  8. JavaScript 的数据类型 相关知识点
  9. LoadRunner 常用C语言函数使用举例说明
  10. 理解OAuth 2.0[摘]