Django--1--基本操作&一个实例
2017-09-23 20:01
281 查看
最近学了很多关于数据,Machine learning,NLP的东西, 在学习的同时强烈意识到要是能有个地方能够实现我的种种想法就太好了。于是准备学习python的Django框架,目标开发一个自己的网站。
1.一些基本命令
django-admin.py startproject hello_django #创建项目
django-admin.py startapp hello #创建app
两行代码完成创建,效果如下图
![](https://img-blog.csdn.net/20170923200623505?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2hyaXNfTGVlX0hlaGU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
manage.py runserver #manage.py是在项目目录下的一个脚本,是django-admin.py的简单包装,拥有其全部的功能 这行代码功能是启动服务器
manage.py makemigrations #生成数据库同步脚本
manage.py migrate #同步数据库
namage.py createsuperuser #创建一个超级管理员
![](https://img-blog.csdn.net/20170923202845881?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2hyaXNfTGVlX0hlaGU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
执行完上面操作然后runserver,之后访问http://localhost:8000/admin并且登录,你就能看到这个效果。这种设计还是挺暖的...
2.回顾下现在的目录结构:
![](https://img-blog.csdn.net/20171003172526104?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2hyaXNfTGVlX0hlaGU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
3.创建一个简单的网页(查询用户列表)
step1:在settings.py里的INSTALLED_APPS增加app名
step2:在view.py里定义一个业务处理的函数
step3:定义一个模板并引入静态文件
step4:在url.py里定义url地址
step5:启动服务
step6:把用户数据查询出来并渲染到页面上
step1:
step2:
step3:
默认方式:先在hello文件夹下创建一个static文件夹,一个template文件夹,然后将静态文件(js,css)放进static,模板文件(html)放入templates
step4:
step5: 启动服务器看下效果
![](https://img-blog.csdn.net/20171003185750999?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2hyaXNfTGVlX0hlaGU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
很明显js和css没有加载进去(想要这个文件的童鞋可以到这里下载)
这里我们需要对html源码进行一些改动:
![](https://img-blog.csdn.net/20171003190759715?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2hyaXNfTGVlX0hlaGU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
搞定!
step6:虽然成功显示,但是目前显示出来的只是在html中静态的信息。接下来我们尝试从数据库中提取出用户信息并渲染到这个表格中,注意这里的数据库里面是django自带的数据,用户自然就是admin
ps:首先我们要知道在安装环境下的Lib里面的site-package中有个叫contrib的东西。这是一个框架集,里面有很多的app。我们现在需要其中auth模块中的models.py这个文件。其中注意这段代码:
所以说我们在views.py里就这样写:
然后还要修改下html代码:(以下为完整html代码)
![](https://img-blog.csdn.net/20171003194320502?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2hyaXNfTGVlX0hlaGU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
to be continued...
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 url from django.contrib import admin from hello import views # 从我的app中导入views.py urlpatterns = [ 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 render from django.contrib.auth.models import User # Create your views here. def hel bc11 lo(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...
相关文章推荐
- 用char*实现的一个完整的类,包含类的基本操作:一般构造、拷贝构造、赋值转换、重载 > >,< <
- Oracle 远程访问配置 在 Windows Forms 和 WPF 应用中使用 FontAwesome 图标 C#反序列化XML异常:在 XML文档(0, 0)中有一个错误“缺少根元素” C#[Win32&WinCE&WM]应用程序只能运行一个实例:MutexHelper Decimal类型截取保留N位小数向上取, Decimal类型截取保留N位小数并且不进行四舍五入操作
- Jquery的一个基本操作实例
- 用char*实现的一个完整的类,包含类的基本操作:一般构造、拷贝构造、赋值转换、重载 > >,< <
- jQuery的DOM操作实例(3)——创建节点&&编写一个弹窗
- 一个侧屏滑动操作的实例(仿遇见)之二:布局XML
- LDAP学习笔记<四>jldap实现Java对LDAP的基本操作
- 堆栈面试题之共享栈,最小栈,判断一个序列是否由一个栈进行基本的入出栈操作而得到
- 自己写的一个操作Mysql的简单的实例
- Python中的Django基本命令实例详解
- Ext的基本概念及一个实例
- Django数据库操作复习实例(一)
- 一、实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作
- 一个最基本的PHP解析XML的实例
- 给你的django后台模型实例加上一个可以直接访问的链接
- (使用树结构来支持并查集操作8.4.2)POJ 2236 Wireless Network(判断两个元素是否在同一个集合&&有条件的合并)
- django1.7写一个MOOC管理系统(一:基本配置)(2015.6.20)
- MongoDB入门---数据库&&&集合的基本操作
- 一个Exchange 数据中心配置和数据中心切换操作实例
- Django创建的一个web小实例讲解