Django--1--基本操作&一个实例
来源:互联网 发布:java自增id生成策略 编辑:程序博客网 时间:2024/06/04 19:39
最近学了很多关于数据,Machine learning,NLP的东西, 在学习的同时强烈意识到要是能有个地方能够实现我的种种想法就太好了。于是准备学习python的Django框架,目标开发一个自己的网站。
1.一些基本命令
django-admin.py startproject hello_django #创建项目
django-admin.py startapp hello #创建app
两行代码完成创建,效果如下图
manage.py runserver #manage.py是在项目目录下的一个脚本,是django-admin.py的简单包装,拥有其全部的功能 这行代码功能是启动服务器
manage.py makemigrations #生成数据库同步脚本
manage.py migrate #同步数据库
namage.py createsuperuser #创建一个超级管理员
执行完上面操作然后runserver,之后访问http://localhost:8000/admin并且登录,你就能看到这个效果。这种设计还是挺暖的...
2.回顾下现在的目录结构:
3.创建一个简单的网页(查询用户列表)
step1:在settings.py里的INSTALLED_APPS增加app名
step2:在view.py里定义一个业务处理的函数
step3:定义一个模板并引入静态文件
step4:在url.py里定义url地址
step5:启动服务
step6:把用户数据查询出来并渲染到页面上
step1:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'hello',]
step2:
# -*- coding:utf-8 -*-from django.shortcuts import render# Create your views here.def hello(request): # render实现渲染功能 # 第一个reques参数必须要有,不然无法接受请求 # 第二个参数是模板文件 return render(request, 'table.html')
step3:
默认方式:先在hello文件夹下创建一个static文件夹,一个template文件夹,然后将静态文件(js,css)放进static,模板文件(html)放入templates
step4:
from django.conf.urls import urlfrom django.contrib import adminfrom hello import views # 从我的app中导入views.pyurlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^hello/$', views.hello, name='hello'), # name是别名 # views.hello指向了step2那段代码]step5: 启动服务器看下效果
很明显js和css没有加载进去(想要这个文件的童鞋可以到这里下载)
这里我们需要对html源码进行一些改动:
{% load staticfiles %}<!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Bootstrap 实例 - 条纹表格</title> <link href="{% static 'css/bootstrap.min.css' %}" rel="stylesheet"> <script src="{% static 'js/jquery.min.js' %}"></script> <script src="{% static 'js/bootstrap.min.js' %}"></script></head><body>.........之后省略.........这样修改之后,效果如下:
搞定!
step6:虽然成功显示,但是目前显示出来的只是在html中静态的信息。接下来我们尝试从数据库中提取出用户信息并渲染到这个表格中,注意这里的数据库里面是django自带的数据,用户自然就是admin
ps:首先我们要知道在安装环境下的Lib里面的site-package中有个叫contrib的东西。这是一个框架集,里面有很多的app。我们现在需要其中auth模块中的models.py这个文件。其中注意这段代码:
class User(AbstractUser): """ Users within the Django authentication system are represented by this model. Username, password and email are required. Other fields are optional. """ class Meta(AbstractUser.Meta): # 这是存放用户信息的类 swappable = 'AUTH_USER_MODEL'所以说我们在views.py里就这样写:
# -*- coding:utf-8 -*-from django.shortcuts import renderfrom django.contrib.auth.models import User# Create your views here.def hello(request): # 查询所有用户的信息,放到User_list,之后以字典形式加入render() user_list = User.objects.all() # render实现渲染功能 # 第一个reques参数必须要有,不然无法接受请求 # 第二个参数是模板文件 return render(request, 'table.html', {'user_list': user_list})然后还要修改下html代码:(以下为完整html代码)
{% load staticfiles %}<!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Django学习--用户列表</title> <link href="{% static 'css/bootstrap.min.css' %}" rel="stylesheet"> <script src="{% static 'js/jquery.min.js' %}"></script> <script src="{% static 'js/bootstrap.min.js' %}"></script></head><body><table class="table table-striped"> <caption>用户列表</caption> <thead> <tr> <th>用户名</th> <th>密码</th> <th>fristname</th> <th>lastname</th> </tr> </thead> <tbody> {% for user in user_list %} <tr> <td>{{user.username}}</td> <td>{{user.password}}</td> <td>{{user.first_name}}</td> <td>{{user.last_name}}</td> </tr>{% endfor %} </tbody></table></body></html>最后效果如下:
to be continued...
- Django--1--基本操作&一个实例
- django 基本操作
- 1.Django基本操作
- django test基本操作
- django基本操作
- django 数据库基本操作
- Django基本数据操作
- 4、Django基本数据操作
- django 基本操作命令
- MongoDB基本操作实例
- django数据库基本操作增删改查
- Django安装及基本操作指南
- Django入门 -- 框架操作基本流程
- Django工具:Git简介与基本操作
- Django的基本操作流程总结
- Django数据库操作复习实例(一)
- 创建一个 Django App 的基本流程
- django基础入门(1)django基本配置
- 单链表面试题——基础篇
- java并发编程的艺术(四)-----线程池
- hihocoder #1586 : Minimum(线段树)
- JDBC Oracle事务隔离(并发控制)
- Python学习笔记:语法基础3
- Django--1--基本操作&一个实例
- 51nod 1095 Anigram单词(map)
- HDU1754
- 求有环单链表中的环长、环起点、链表长
- 数组与内存控制
- SWIFT电文简介
- 如何调整虚拟机中Ubuntu系统显示尺寸大小
- yii-console
- JavaScriptSE6 let和const命令