Python论坛  - 讨论区

标题:[python-chinese] Django中加入JQuery问题

2007年02月28日 星期三 10:29

俊杰蔡 yzcaijunjie在gmail.com
星期三 二月 28 10:29:13 HKT 2007

ѧϰÔÚDjangoÖмÓÈëJQuery£¬°´ÕÕÀý×Ó£¬Ö´ÐÐÕâÑùÒ»¸ö¶¯×÷£º

$(document).ready(function() {
>     $("a").click(function() {
>         alert("Hello world!");
>     });
>     // do something here
> });
>

ÔÚshow.htmlÖÐÖ®¼äÐèÒªÌí¼Ó£º





µ«ÔËÐкóûÓз´Ó¦£¬¿´ÁËÏÂfirebugÖеĴíÎóÌáʾ£¬jquery.js(404)´íÎó£¬Â·¾¶±»½âÎö³É

http://127.0.0.1:8000/music/musicians/show/jquery.js


ÕâÀïmusicÊÇproject name£¬ musiciansÊÇapp name£¬showÊÇview
function£¬showÖе÷ÓÃÁËmusic/templates/ϵÄÄ£°æÎļþshow.html

ÇëÎÊÕâ¸öjquery.jsÓ¦¸Ã·ÅÔÚ¹¤³ÌµÄʲôĿ¼ÏÂÄØ£¿
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20070228/6578c605/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年02月28日 星期三 10:48

limodou limodou在gmail.com
星期三 二月 28 10:48:26 HKT 2007

On 2/28/07, 俊杰蔡 <yzcaijunjie在gmail.com> wrote:
> 学习在Django中加入JQuery,按照例子,执行这样一个动作:
>
> > $(document).ready(function() {
> >     $("a").click(function() {
> >         alert("Hello world!");
> >     });
> >     // do something here
> > });
> >
>
> 在show.html中之间需要添加:
>
> > 
>
>
> 但运行后没有反应,看了下firebug中的错误提示,jquery.js(404)错误,路径被解析成
>
> > http://127.0.0.1:8000/music/musicians/show/jquery.js
>
> 这里music是project name, musicians是app name,show是view
> function,show中调用了music/templates/下 的模版文件show.html
>
> 请问这个jquery.js应该放在工程的什么目录下呢?
>
js文件是静态文件,要按image,css之类的进行处理。因此src中的路径建议使用绝对路径,如/site_media/js/jquery.js。

然后静态目录结构可以为:

/media
   /js
   /css
   /img

如果是使用开发服务器,在urls.py中设置:

    (r'^site_media/(.*)$', 'django.views.static.serve',
{'document_root': './media'}),

其中'.media'可以写成一个settings的配置项,或写成路径,可以为相对路径或绝对路径。

如果是在 apache中部署,可以在htdocs中设置符号链接:

ln -s /yourpathofmedia/ site_media

-- 
I like python!
UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年02月28日 星期三 10:49

Zoom.Quiet zoom.quiet在gmail.com
星期三 二月 28 10:49:30 HKT 2007

On 2/28/07, 俊杰蔡 <yzcaijunjie在gmail.com> wrote:
> 学习在Django中加入JQuery,按照例子,执行这样一个动作:
>
> > $(document).ready(function() {
> >     $("a").click(function() {
> >         alert("Hello world!");
> >     });
> >     // do something here
> > });
> >
>
> 在show.html中之间需要添加:
>
> > 
>
>
> 但运行后没有反应,看了下firebug中的错误提示,jquery.js(404)错误,路径被解析成
>
> > http://127.0.0.1:8000/music/musicians/show/jquery.js
>
> 这里music是project name, musicians是app name,show是view
> function,show中调用了music/templates/下 的模版文件show.html
>
> 请问这个jquery.js应该放在工程的什么目录下呢?
>
>
一般作为media/js 进行保存的吧
>
>
>
>
>
>
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to
> python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to
> python-chinese-request在lists.python.cn
> Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
>


-- 
'''Time is unimportant, only life important!
http://zoomquiet.org
blog在http://blog.zoomquiet.org/pyblosxom/
wiki在http://wiki.woodpecker.org.cn/moin/ZoomQuiet
scrap在http://floss.zoomquiet.org
douban在http://www.douban.com/people/zoomq/
____________________________________
Pls. use OpenOffice.org to replace M$ Office.
     http://zh.openoffice.org
Pls. use 7-zip to replace WinRAR/WinZip.
     http://7-zip.org/zh-cn/
You can get the truely Freedom 4 software.
'''

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年02月28日 星期三 11:14

俊杰蔡 yzcaijunjie在gmail.com
星期三 二月 28 11:14:22 HKT 2007

лл£¬limodou£¬ÎÊÌâ½â¾öÁË¡£

ÎÒ»¹ÏëÎÊÏ£º

1.  srcÖеľø¶Ô·¾¶Ãû×ÖÓ¦¸ÃÊÇ ¾²Ì¬Ä¿Â¼µÄ½á¹¹Â𣿠±ÈÈ磺


> /media
>    /js
>    /css
>    /img


    ÄÇôscr="/projectname/appname/media/js/jquery.js"

2.

>     (r'^site_media/(.*)$', 'django.views.static.serve',
> {'document_root': './media'}),


(.*)ÊÇ×÷ΪcaptureµÄÄÚÈÝ´«µÝ¸ødjango.views.static.serverô£¿
Èç¹ûÊǵĻ°£¬°´ÕÕdjangoÎĵµËµÃ÷£¬ËùÓеÄ(.*)¶¼²»»áÆð×÷Ó㬶¼»á±» {'document_root': './media'}Ìæ»»¡£
ÄÇôÕâÀïÖ»ÒªÖ¸¶¨
./media¾Í¿ÉÒÔÁËô£¿ ²»ÐèÒª./media/js/ »òÕß./media/css/ »òÕß ./media/imgô£¿


лл



ÔÚ07-2-28£¬limodou <limodou在gmail.com> дµÀ£º
>
> On 2/28/07, ¿¡½Ü²Ì <yzcaijunjie在gmail.com> wrote:
> > ѧϰÔÚDjangoÖмÓÈëJQuery£¬°´ÕÕÀý×Ó£¬Ö´ÐÐÕâÑùÒ»¸ö¶¯×÷£º
> >
> > > $(document).ready(function() {
> > >     $("a").click(function() {
> > >         alert("Hello world!");
> > >     });
> > >     // do something here
> > > });
> > >
> >
> > ÔÚshow.htmlÖÐÖ®¼äÐèÒªÌí¼Ó£º
> >
> > > 
> >
> >
> > µ«ÔËÐкóûÓз´Ó¦£¬¿´ÁËÏÂfirebugÖеĴíÎóÌáʾ£¬jquery.js(404)´íÎó£¬Â·¾¶±»½âÎö³É
> >
> > > http://127.0.0.1:8000/music/musicians/show/jquery.js
> >
> > ÕâÀïmusicÊÇproject name£¬ musiciansÊÇapp name£¬showÊÇview
> > function£¬showÖе÷ÓÃÁËmusic/templates/Ï µÄÄ£°æÎļþshow.html
> >
> > ÇëÎÊÕâ¸öjquery.jsÓ¦¸Ã·ÅÔÚ¹¤³ÌµÄʲôĿ¼ÏÂÄØ£¿
> >
> jsÎļþÊǾ²Ì¬Îļþ£¬Òª°´image,cssÖ®ÀàµÄ½øÐд¦Àí¡£Òò´ËsrcÖеÄ·¾¶½¨ÒéʹÓþø¶Ô·¾¶£¬Èç/site_media/js/jquery.js¡£
>
> È»ºó¾²Ì¬Ä¿Â¼½á¹¹¿ÉÒÔΪ£º
>
> /media
>    /js
>    /css
>    /img
>
> Èç¹ûÊÇʹÓÿª·¢·þÎñÆ÷£¬ÔÚurls.pyÖÐÉèÖãº
>
>     (r'^site_media/(.*)$', 'django.views.static.serve',
> {'document_root': './media'}),
>
> ÆäÖÐ'.media'¿ÉÒÔд³ÉÒ»¸ösettingsµÄÅäÖÃÏ»òд³É·¾¶£¬¿ÉÒÔΪÏà¶Ô·¾¶»ò¾ø¶Ô·¾¶¡£
>
> Èç¹ûÊÇÔÚ apacheÖв¿Ê𣬿ÉÒÔÔÚhtdocsÖÐÉèÖ÷ûºÅÁ´½Ó£º
>
> ln -s /yourpathofmedia/ site_media
>
> --
> I like python!
> UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
> My Blog: http://www.donews.net/limodou
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20070228/3e56e64e/attachment.htm 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年02月28日 星期三 11:19

limodou limodou在gmail.com
星期三 二月 28 11:19:28 HKT 2007

On 2/28/07, 俊杰蔡 <yzcaijunjie在gmail.com> wrote:
> 谢谢,limodou,问题解决了。
>
> 我还想问下:
>
> 1.  src中的绝对路径名字应该是 静态目录的结构吗? 比如:
>
> > /media
> >    /js
> >    /css
> >    /img
>
>     那么scr="/projectname/appname/media/js/jquery.js"

不是。它不是文件系统的目录,而是根据你的web server的配置,从根url来的路径。
>
> 2.
> >     (r'^site_media/(.*)$', 'django.views.static.serve',
> > {'document_root': './media'}),
>
> (.*)是作为capture的内容传递给django.views.static.server么?
> 如果是的话,按照django文档说明,所有的(.*)都不会起作用,都会被 {'document_root':
> './media'}替换。 那么这里只要指定
> ./media就可以了么? 不需要./media/js/ 或者./media/css/ 或者 ./media/img么?
>
是的。它是把/site_media后面的全部取出来,然后与document_root进行合并,转为真正的文件系统的目录。不过这种只是在开发服务器上是这样的。
在部署到apache中时,如fastcgi一般是能过rewite规则来进行的,意思差不多。

-- 
I like python!
UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年02月28日 星期三 12:59

俊杰蔡 yzcaijunjie在gmail.com
星期三 二月 28 12:59:57 HKT 2007

Ã÷°×ÁË£¬Ð»Ð»

ÔÚ07-2-28£¬limodou <limodou在gmail.com> дµÀ£º
>
> On 2/28/07, ¿¡½Ü²Ì <yzcaijunjie在gmail.com> wrote:
> > лл£¬limodou£¬ÎÊÌâ½â¾öÁË¡£
> >
> > ÎÒ»¹ÏëÎÊÏ£º
> >
> > 1.  srcÖеľø¶Ô·¾¶Ãû×ÖÓ¦¸ÃÊÇ ¾²Ì¬Ä¿Â¼µÄ½á¹¹Â𣿠±ÈÈ磺
> >
> > > /media
> > >    /js
> > >    /css
> > >    /img
> >
> >     ÄÇôscr="/projectname/appname/media/js/jquery.js"
>
> ²»ÊÇ¡£Ëü²»ÊÇÎļþϵͳµÄĿ¼£¬¶øÊǸù¾ÝÄãµÄweb serverµÄÅäÖ㬴ӸùurlÀ´µÄ·¾¶¡£
> >
> > 2.
> > >     (r'^site_media/(.*)$', 'django.views.static.serve',
> > > {'document_root': './media'}),
> >
> > (.*)ÊÇ×÷ΪcaptureµÄÄÚÈÝ´«µÝ¸ødjango.views.static.serverô£¿
> > Èç¹ûÊǵĻ°£¬°´ÕÕdjangoÎĵµËµÃ÷£¬ËùÓеÄ(.*)¶¼²»»áÆð×÷Ó㬶¼»á±» {'document_root':
> > './media'}Ìæ»»¡£ ÄÇôÕâÀïÖ»ÒªÖ¸¶¨
> > ./media¾Í¿ÉÒÔÁËô£¿ ²»ÐèÒª./media/js/ »òÕß./media/css/ »òÕß ./media/imgô£¿
> >
>
> Êǵġ£ËüÊÇ°Ñ/site_mediaºóÃæµÄÈ«²¿È¡³öÀ´£¬È»ºóÓëdocument_root½øÐкϲ¢£¬×ªÎªÕæÕýµÄÎļþϵͳµÄĿ¼¡£²»¹ýÕâÖÖÖ»ÊÇÔÚ¿ª·¢·þÎñÆ÷ÉÏÊÇÕâÑùµÄ¡£
> ÔÚ²¿Êðµ½apacheÖÐʱ£¬ÈçfastcgiÒ»°ãÊÇÄܹýrewite¹æÔòÀ´½øÐеģ¬Òâ˼²î²»¶à¡£
>
> --
> I like python!
> UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
> My Blog: http://www.donews.net/limodou
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20070228/bd5c0761/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号