关于Python+Django+Hadmin的初级使用
大家好,我是Python开发新手,以前一直在使用Shell和Php脚本,Python使用基本都很少,这两年Python越来越火,咱们做运维的再不使用Python等待何时呢,开个玩笑。
这几天一直在看Python+Django框架,写了一个简单的数据库web管理,并且也套用了较为流程的Bootstrap和Hadmin前端框架,使用Hadmin前端框架,发现其前端的功能实在是太强大了,在这里我把我的代码分享一下。
models.py
from django.db import models
class Students(models.Model):
school_name = models.CharField(max_length=10)
grade_num = models.IntegerField()
class_num = models.IntegerField()
name = models.CharField(max_length=30)
sex = models.CharField(max_length=2)
age = models.IntegerField()
hob = models.CharField(max_length=50)
def str_(self):
return ‘school_name:’+self.school_name+’;grade_num:’+str(self.grade_num)+’;class_num :’
+ str(self.class_num)+’;name:’+self.name+’;sex:’+self.sex+’;age:’+self.age+’;hob:’+self.hob
settings.py
import os
import pymysql
pymysql.install_as_MySQLdb()
INSTALLED_APPS = [
‘django.contrib.admin’,
‘django.contrib.auth’,
‘django.contrib.contenttypes’,
‘django.contrib.sessions’,
‘django.contrib.messages’,
‘django.contrib.staticfiles’,
‘StudentS.apps.StudentsConfig’,
‘ClassStu’ //上面都是自带的,这个是默认的工程名,是需要自己添加的
]
//这格式数据库连接信息
DATABASES = {
‘default’: {
‘ENGINE’: ‘django.db.backends.mysql’,
‘NAME’: ‘ClassStu’,
‘USER’: ‘root’,
‘PASSWORD’: ‘12345678’,
‘HOST’: ‘localhost’,
‘PORT’: ‘3306’,
}
}
views.py
from django.contrib.auth import authenticate
from django.shortcuts import render
from django.http.response import JsonResponse
from django.http import HttpResponseRedirect
from django.contrib.auth.models import User
from django.shortcuts import render_to_response
import pymysql
import math
from django.views.decorators.csrf import csrf_protect
from StudentS.models import Students
@csrf_protect
//插入数据库
def insert(request):
cook = request.COOKIES.get(‘cookie_username’)
if cook is not None:
if request.POST:
Students.objects.create(school_name=request.POST[‘school_name’], grade_num=request.POST[‘grade_num’],
class_num=request.POST[‘class_num’], name=request.POST[‘name’], sex=request.POST[‘sex’],
age=request.POST[‘age’], hob=request.POST[‘hob’]),
return render(request, ‘add.html’, {‘result’: “成功添加数据!”})
return render(request, ‘add.html’)
//显示数据记录
def show(request):
cook = request.COOKIES.get('cookie_username')
if cook is not None:
return render(request, 'index.html', {'aa': cook}) # request,地址,参数
else:
return render(request, 'login.html')
//默认登录首页
def index(request):
return render(request, 'login.html') # request,地址,参数
//用户登录认证及cookies生成
def login(request):
if request.method == ‘POST’: # 判断是否为post提交方式
username = request.POST.get(‘username’, ’ ‘) # 通过post.get()方法获取输入的用户名及密码
password = request.POST.get(‘password’, ’ ‘)
user = authenticate(username=username, password=password)
# userpassjudge = User.objects.filter(username=username, password=password)
if user is not None: # 判断用户名及密码是否正确
response = HttpResponseRedirect(’/show/’) # 如果正确,(这里调用另一个函数,实现登陆成功页面独立,使用HttpResponseRedirect()方法实现
response.set_cookie(‘cookie_username’, username, 3600)
retur