加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

djngo快速实现--使用Bootstrap

发布时间:2020-12-17 21:08:06 所属栏目:安全 来源:网络整理
导读:http://www.cnblogs.com/fnng/p/3998774.html 2014-09-28 18:04 by 虫师,? 893 ?阅读,? 5 ?评论,?收藏,?编辑 继续 django 学习之旅,之前我们所做的 Django 练习前端都非常丑。这节我们使用 Bootstrap ,顿时使丑陋的页面变成白天鹅。 ? 安装Bootstrap??????

http://www.cnblogs.com/fnng/p/3998774.html

2014-09-28 18:04 by 虫师,?893?阅读,?5?评论,?收藏,?编辑

继续django学习之旅,之前我们所做的Django练习前端都非常丑。这节我们使用Bootstrap,顿时使丑陋的页面变成白天鹅。

?

安装Bootstrap??????????????????????????????????????

Bootstrap是什么?

BootstrapTwitter推出的一个用于前端开发的开源工具包。它由Twitter的设计师Mark?OttoJacob?Thornton合作开发,是一个CSS/HTML框架。Bootstrap提供了优雅的HTMLCSS规范,它即是由动态CSS语言Less写成。

?

django-bootstrap-toolkit

django-bootstrap-toolkit应用可以让Django非容易的集成Bootstrap

?

安装django-bootstrap-toolkit

?

>pip install django-bootstrap-toolkit

运行bootstrap例子???????????????????????????????????

?

克隆django-bootstrap-toolkit?项目

https://github.com/dyve/django-bootstrap-toolkit

?

$ git clone git://github.com/dyve/django-bootstrap-toolkit.git

??

克隆下来的django-bootstrap-toolkit?项目自带demo_project,现在我们可以直接运行这个demo了。

进入demo_project?目录运行:

> python manage.py runserver

通过浏览器访问:http://127.0.0.1:8000/

wa?o?!!?cool?比我们之前的djngo例子好看多了。

?

预览demo_project???????????????????????????????????????????????????????????????????????

来看一下这个项目的结构吧!

通过前面多个django项目练习,我们已经对这个目录结构不陌生了。下面看看这个例子要特别注意的:

settings.py

复制代码

……
INSTALLED_APPS = (
    'django.contrib.auth',django.contrib.contenttypesdjango.contrib.sessionsdjango.contrib.sitesdjango.contrib.messagesdjango.contrib.staticfiles# Uncomment the next line to enable the admin:
     'django.contrib.admin',
     Uncomment the next line to enable admin documentation:
     'django.contrib.admindocs',
    bootstrap_toolkitdemo_app',)
……

要想使用bootstrap,这里必须加载bootstrap_toolkit?demo_app则是我们当前的项目。

urls.py

from django.conf.urls import patterns,url

 Uncomment the next two lines to enable the admin:
# from django.contrib import admin admin.autodiscover()
from django.views.generic import TemplateView

urlpatterns = patterns('',0); line-height:1.5!important"> Examples:
     url(r'^$','demo_project.views.home',name='home'),0); line-height:1.5!important"> url(r'^demo_project/',include('demo_project.foo.urls')),

     Uncomment the admin/doc line below to enable admin documentation:
     url(r'^admin/doc/',include('django.contrib.admindocs.urls')),0); line-height:1.5!important"> url(r'^admin/',include(admin.site.urls)),

    url(r^$',TemplateView.as_view(template_name=index.html'),name="home"),url(r^contact$contact.htmlcontact^form$demo_app.views.demo_form'),0); line-height:1.5!important">^form_template$demo_app.views.demo_form_with_template^form_inline$demo_app.views.demo_form_inline^formset$demo_app.views.demo_formsetformset^tabs$demo_app.views.demo_tabstabs^pagination$demo_app.views.demo_paginationpagination^widgets$demo_app.views.demo_widgetswidgets^buttons$buttons.htmlbuttons 
     
   

下面再看看views.py写了哪些中间逻辑:

from django.contrib import messages from django.forms.formsets import formset_factory from django.shortcuts import render_to_response from django.template.context import RequestContext from django.core.paginator import Paginator,PageNotAnInteger,EmptyPage from bootstrap_toolkit.widgets import BootstrapUneditableInput from .forms import TestForm,TestModelForm,TestInlineForm,WidgetsForm,FormSetInlineForm def demo_form_with_template(request): layout = request.GET.get(layout') if not layout: layout = vertical' if request.method == POST': form = TestForm(request.POST) form.is_valid() else: form = TestForm() modelform = TestModelForm() return render_to_response(form_using_template.htmlform': form,0); line-height:1.5!important">': layout,})) def demo_form(request): messages.success(request,0); line-height:1.5!important">I am a success message.') layout = request.GET.get(else: form = TestForm() form.fields[title'].widget = BootstrapUneditableInput() form.htmldef demo_form_inline(request): layout = request.GET.get('') if layout != search': layout = inline' form = TestInlineForm() form_inline.htmldef demo_formset(request): layout = request.GET.get(' DemoFormSet = formset_factory(FormSetInlineForm) ': formset = DemoFormSet(request.POST,request.FILES) formset.is_valid() else: formset = DemoFormSet() formset.html': formset,255); line-height:1.5!important">def demo_tabs(request): layout = request.GET.get(' tabs = [ { link': #",0); line-height:1.5!important">Tab 1Tab 2tabs.html': tabs,255); line-height:1.5!important">def demo_pagination(request): lines = [] for i in range(10000): lines.append(uLine %s' % (i + 1)) paginator = Paginator(lines,10) page = request.GET.get(pagetry: show_lines = paginator.page(page) except PageNotAnInteger: If page is not an integer,deliver first page. show_lines = paginator.page(1) except EmptyPage: If page is out of range (e.g. 9999),deliver last page of results. show_lines = paginator.page(paginator.num_pages) pagination.htmllines': show_lines,255); line-height:1.5!important">def demo_widgets(request): layout = request.GET.get(') form = WidgetsForm() 剩下的就是模板目录templates?了,里面的html模板页面较多,我就不一一列出了。不过,现在最兴奋的就是去修改上面的文字,让其看起来更像我们自己的“网站”。

  在后面的学习中,我们将以此为基础进行。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读