Django使用心得(二)

本篇主要内容:

  • django中引用javascript
  • django中引用css及图片资源

1. django中引用javascript

web开发中必然要引用一些javascript的函数库来进行一些前端的处理,django也不例外。

下面主要介绍如何在django中引用当前比较流行的js库JQuery。

首先,新建一个django工程siteWithResources,新建的方法参照Django使用心得(一)

然后分别配置以下几个文件:

1.1 urls.py

urlpatterns = patterns('',
    # Example:
    # (r'^siteWithResources/', include('siteWithResources.foo.urls')),

	( r'^js/(?P<path>.*)$', 'django.views.static.serve',
			{ 'document_root': 'D:/Vim/python/django/django-resources/js/' }
	),
)

1.2 views.py

from django.shortcuts import render_to_response

def PageWithJquery( request ):
	return render_to_response( 'default.html',
			{"mytitle":"customize_title"})

1.3 default.html (引用javascript)

<script type="text/javascript" src="/js/jquery/jquery-1.4.4.min.js"></script>

然后就可以在default.html中使用jquery的各种函数了。

2. django中引用css及图片资源

引用css和图片资源的方法也和引用js是一样的,在urls.py中加入如下内容:

urlpatterns = patterns('',
    # Example:
    # (r'^siteWithResources/', include('siteWithResources.foo.urls')),
    (r'^test/$', 'siteWithResources.views.PageWithJquery'),

	( r'^js/(?P<path>.*)$', 'django.views.static.serve',
			{ 'document_root': 'D:/Vim/python/django/django-resources/js/' }
	),

	( r'^css/(?P<path>.*)$', 'django.views.static.serve',
			{ 'document_root': 'D:/Vim/python/django/django-resources/css/' }
	),

	( r'^images/(?P<path>.*)$', 'django.views.static.serve',
			{ 'document_root': 'D:/Vim/python/django/django-resources/images/' }
	),
)

完整版的default.html如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
		<title>{{ mytitle }}</title>
		<link rel="stylesheet" type="text/css" href="/css/base.css" />
		<script type="text/javascript" src="/js/jquery/jquery-1.4.4.min.js"></script>
		<script language="javascript" type="text/javascript">
			$(document).ready(function(){
				$('#btn_down').bind( 'click', move_txt_down );
				$('#btn_up').bind( 'click', move_txt_up );
				$('#btn_fadeIn').bind( 'click', fade_img_in );
				$('#btn_fadeOut').bind( 'click', fade_img_out );
			});

			function move_txt_down(){
				$('#txt').animate({left:100,top:500 }, 'slow');
			}
			function move_txt_up(){
				$('#txt').animate({left:100,top:150 }, 'slow');
			}
			function fade_img_in(){
				$('#logo1').fadeIn('slow');
			}
			function fade_img_out(){
				$('#logo1').fadeOut('slow');
			}
		</script>
	</head>
	<body>
	<h1>My Resource Test</h1>
	<input type="button" name="btn" id="btn_down" value="Move the text down"/>
	<input type="button" name="btn" id="btn_up" value="Move the text up"/>
	<input type="button" name="btn" id="btn_fadeIn" value="Fade the logo in"/>
	<input type="button" name="btn" id="btn_fadeOut" value="Fade the logo out"/>
	<br />
	<img src="/images1/Logo1.gif" alt="logo1" id="logo1" />
	<div id="txt" style="position: absolute;left:100px;top:150px;">this is the text for move</div>	
	</body>
</html>

当然,还得在settings.py中加上模板所在的配置。

TEMPLATE_DIRS = (
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
	"D:/Vim/python/django/django-templates/siteWithResources",
)

最后,整个工程的目录结构如下:

D:\Vim\python\django
     |- siteWithResources
     |         |- __init__.py
     |         |- manage.py
     |         |- settings.py
     |         |- urls.py
     |         `- views.py
     |
     |- django-resources
     |         |- css
     |         |   `- base.css
     |         |
     |         |- images1
     |         |   |- Sunset.jpg
     |         |   `- Logo1.gif
     |         |
     |         `- js
     |             `- jquery
     |                  `- jquery-1.4.4.min.js
     |
     `- django-templates
               `- siteWithResources
                   `- default.html
posted @ 2011-04-21 22:26  wang_yb  阅读(12226)  评论(0编辑  收藏  举报