新手开发基于Django框架的python web(二)
2016-12-16 10:00
941 查看
接上篇!!!!
1、在app目录下建立forms.py文件,导入Django的forms模块,并将在models.py文件中建立的数据表类导入,即可建立相应的表单类,代码示例额代码如下所致所示:
解析:这段代码旨在声明templates模板文件所在的位置,便于django找到html文件,通常而言,目录所在位置可以填写绝对路径,但这种硬代码的编写方式的项目移植性太差,因此,使用相对路径会更好!
,哈哈哈,开个玩笑啦~记住,django框架中的admin工具相当重要,值得每一位想熟练使用这个框架的读者好好探索!!!!!
打开app目录下的admin.py文件,输入下列代码:
解析:这是最简单方式,django还支持内联显示等,在此不多赘述,详见后续内容......
一、建立表单视图
建立表单视图即为设计和开发信息录入页面。该页面的基本功能为:提供输入界面,让用户输入文本消息内容等,用户提交后网页自动设置该信息的时间并保存到数据库中。1、在app目录下建立forms.py文件,导入Django的forms模块,并将在models.py文件中建立的数据表类导入,即可建立相应的表单类,代码示例额代码如下所致所示:
# -*- coding: utf-8 -*- from django import forms from personconfig.models import Base # 底库表单 class Base_Form(forms.Form): base_name = forms.CharField(max_length=30) base_establish_time = forms.DateTimeField() base_update_time = forms.DateTimeField()
注意:在models.py文件中,我们建立了一个底库表格类,因此在这个表单文件中,我们要建立相应的表单类Base_Form,它是Django中forms模块Form函数的子类,base_name = forms.CharField(max_length = 30)则是声明所要导入的属性的基本语法格式,base的名称,他的属性是一个字符串类型的字段,最大长度为30,后两句代码类似! 事实上,Django还有另外一种导入技巧:定义一个Meta子类:将数据表类赋值给model,利用fields = '_all_'将所有模型类中的字段导入表单类中,具体实现代码如下:
from django.forms import ModelForm from polls.models import Base class Base_Form(ModelForm): class Meta: model = Base fields = '_all_'
二、开发模板文件
在app目录下新建文件夹templates,在该文件夹下新建模板文件Base_register.html,文件内容入下:<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title></title> </head> <body> <h1>底库管理</h1> <form method="post" enctype="multipart/form-data" > {{UIf2.as_p}} <input type="submit" value="ok"/> </form> </body> </html>
三、开发视图
视图是将表单类和页面模板衔接起来。打开website/polls/views.py文件,在其中编辑如下内容:from django.shortcuts import render,render_to_response from django.http import HttpResponse from polls.forms import Base_Form # Create your views here. #底库管理视图 def Base_register(request): if request.method == "POST": UIf2 = Base_Form(request.POST) if UIf2.is_valid(): #获取表单信息 base_name = UIf2.cleaned_data['base_name'] base_establish_time = UIf2.cleaned_data['base_establish_time'] base_update_time = UIf2.cleaned_data['base_update_time'] #写入数据库 base = Base() base.base_name = base_name base.base_establish_time = base_establish_time base.base_update_time = base_update_time base.save() return HttpResponse('Information entry ok!') else: UIf2 = Base_Form() return render_to_response('Base_register.html',{'UIf2':UIf2})
注意:在代码中,新增了视图函数Base_register(),该函数定义了两种访问方式的不同处理。如果是用户的Post表单提交,则保存Base对象,并返回“Information entry ok!”的信息;如果是普通的访问,则返回Base_register.html模板的渲染结果作为HTTP Response。在视图函数的定义中,用到的http请求的相关内容,在此笔者不加以赘述,需要了解的读者可以参考以下网址:http://www.cnblogs.com/yin-jingyu/archive/2011/08/01/2123548.html
四、修改website项目的setting.py文件
打开项目所在目录,找到setting.py 文件,在最底端添加以下代码:#template TEMPLATES_DIRS=( '/website/polls/templates' )
解析:这段代码旨在声明templates模板文件所在的位置,便于django找到html文件,通常而言,目录所在位置可以填写绝对路径,但这种硬代码的编写方式的项目移植性太差,因此,使用相对路径会更好!
五、配置urls.py文件,增加视图函数的路由输入映射
(1)在polls目录下,新建urls.py文件,输入下列代码:from django.conf.urls import url from . import views urlpatterns = [ url(r'^$',views.Base_register, name='Base_register'), ]解析:从django.conf.urls中导入url,将所有的是视图函数导入,并定义路由函数,添加视图的路由信息。
(2)打开项目目录下的urls.py文件,输入以下代码:
from django.conf.urls import include, url from django.contrib import admin admin.autodiscover() urlpatterns = [ url(r'^polls/', include('polls.urls')), url(r'^admin/', admin.site.urls), ]
该段代码将app的路由添加至整个项目的路由文件中。
六、在app目录下的admin.py文件中进行注册
这一步很重要,没有这一步你想要的都是显示不出来滴,这就好比不领证的都是不具有法律效力滴,哈哈哈,开个玩笑啦~记住,django框架中的admin工具相当重要,值得每一位想熟练使用这个框架的读者好好探索!!!!!
打开app目录下的admin.py文件,输入下列代码:
from django.contrib import admin from polls.models import Base # Register your models here. admin.site.register(Base)
解析:这是最简单方式,django还支持内联显示等,在此不多赘述,详见后续内容......
七、创建超级用户,以管理员的身份登录
进入cmd命令窗口,再进入该项目所在目录,输入以下命令:
python manage.py createsuperuser
回车之后按提示操作即可!
八、启动服务器
注意:Django自带有服务器,你也可以根据需要将整个项目挂在Apache或者其他的服务器上!
这里,笔者使用的是Django自带的服务器!
进入cmd命令窗口,再进入该项目所在的目录,输入以下命令:python manage.py runserver 你的服务器ip:端口号 ( #也可以不填,则为默认值)
这里,笔者使用 的是默认值,即在浏览器中输入:http://localhost:8000/admin/进入管理登陆界面:
输入你的超级用户名及密码进入管理主界面:
相关文章推荐
- Python Web接口开发学习笔记(基于Django框架)(一)
- [转]Django 是一个 Python 下的 web 开发框架[学习资料]
- 玩聚网目前也是基于Python的Django框架开发
- 基于 Django 框架 Web 开发
- 用 Python 开发 Web 站点的两个开源框架 Django 和 TurboGears
- 每周一荐:Python Web开发框架Django
- 玩聚网目前也是基于Python的Django框架开发
- 基于python的web开发框架-CherryPy
- 基于Django框架的敏捷Web开发
- Python Web 框架,第 1 部分: 使用 Django 和 Python 开发 Web 站点
- 玩聚网目前也是基于Python的Django框架开发
- 基于 Django 框架的敏捷 Web 开发
- Python Web 框架,第 1 部分: 使用 Django 和 Python 开发 Web 站点(转)
- [转]基于 Django 框架的敏捷 Web 开发
- python下的web开发框架-Django,django模板的使用
- 玩聚网目前也是基于Python的Django框架开发
- 玩聚网目前也是基于Python的Django框架开发
- 玩聚网目前也是基于Python的Django框架开发
- Python Web 框架, 使用 Django 和 Python 开发 Web 站点
- 在IIS上部署基于django WEB框架的python网站应用