博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django 入门初探
阅读量:4692 次
发布时间:2019-06-09

本文共 2719 字,大约阅读时间需要 9 分钟。

简介

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.name    class 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 renderfrom django.shortcuts import redirectfrom login import modelsfrom login.models import Userimport timefrom django.conf import settingsimport 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'] = True                    request.session['username'] = username                    return 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

你可能感兴趣的文章
23 Java学习之RandomAccessFile
查看>>
P2709 小B的询问
查看>>
PHP echo 和 print 语句
查看>>
第一讲 一个简单的Qt程序分析
查看>>
Centos 6.5下的OPENJDK卸载和SUN的JDK安装、环境变量配置
查看>>
poj 1979 Red and Black(dfs)
查看>>
【.Net基础03】HttpWebRequest模拟浏览器登陆
查看>>
zTree async 动态参数处理
查看>>
Oracle学习之常见错误整理
查看>>
lock_sga引起的ksvcreate :process(m000) creation failed
查看>>
数据库插入数据乱码问题
查看>>
altium annotate 选项设置 complete existing packages
查看>>
【模式识别与机器学习】——SVM举例
查看>>
【转】IT名企面试:微软笔试题(1)
查看>>
IO流入门-第十章-DataInputStream_DataOutputStream
查看>>
DRF的分页
查看>>
Mysql 模糊匹配(字符串str中是否包含子字符串substr)
查看>>
python:open/文件操作
查看>>
流程控制 Day06
查看>>
Linux下安装Tomcat
查看>>