Django community: RSS
This page, updated regularly, aggregates Django links from the Django community.
-
What’s Trending in Social Media 2013 – A Complete List for Social Media Marketers
From the radpidly increasing rate of smartphone adoption, to the rise of Instagram addicts, to the thousands who’ve just discovered Tumblr—we can already tell 2013 will be a big year for social and we’re excited!So, here is a Complete list of social media trends from a bunch of social media marketers Social Media Trends By Social Media Marketers For 2013 . More elaborate. More thought through: Creative driven. Insight driven social ideas. As more people shift from traditional to digital advertising and bring a certain thought process. As more clients spend more money on digital. As more time is spent on social ideas, ideas by and large, on the brands serious about social media will continue to get better. . Higher pay at more established firms: More difficulty for social media startups. We’re now in our 5th or 6th year of this industry in India (depending on how you look at it). If you’re looking to be a social media service start up, I imagine its going to be difficult. Most brands worth their salt have established partners. There’s a growing importance of social in seo – it’s not an ‘experiment’ anymore. Brands want partners with established credentials. This also … -
How to test https in django development server tutorial
Django's development server doesn't normally support HTTPS so it's hard to test applications with HTTPS without deploying the application to ... -
Vchasno
Made with Django framework All-Ukrainian billboard on events to come. Assists in finding right events for fun, shopping, studying. Now ... -
eScientia.Me
eScientia.Me es el lugar donde cualquiera puede crear un curso de elearning gratuitamente, y cualquiera puede aprender enseñar y ganar ... -
MultiSelectField with comma separated values Field and FormField
incredibly useful snippet helps you to select multiple items as in form widget checkboxes for instance without creating specific model ... -
Divio
Webagency specialised in Python/Django -
how to create django form preview
Django comes with an optional “form preview” application that helps automate the following workflow: “Display an HTML form, force a ... -
DjangoCon Europe 2013 - Call for Papers
DjangoCon Europe 2013, the best Django community event ever is on again! This time we've decided to put some more ... -
Test-Driven Django Development Tutorial
This idea is to provide an introduction to Test-Driven web development using Django (and Python). Essentially, we run through the ... -
Find all django users groups with djangonauts
Djangonauts.org is a free site where you can find all django users groups from all around the world. -
django-crispy-forms
Common questions by people new to Django is “what about divs?” and “how to reorder fields?” Reinout van Rees explains ... -
Django REST framework
Django REST framework is a lightweight library that makes it easy to build Web APIs. It is designed as a ... -
30loops
30loops is a specialized Python and Django hosting platform. Deploy in seconds, connect various databases and other addons, and scale ... -
Top 10 tips to a new django developer
blog post kind of best practices for django a little bit old but useful information see some titles below 1.Don’t ... -
Want to learn Django? Tutorials,Books,Best Practices Start here
Blog post helps django newcomers to find where to start.You can find some titles below The official Django tutorial Getting ... -
Python模块学习--random 随机数生成
Python中的random模块用于生成随机数。下面介绍一下random模块中最常用的几个函数。random.randomrandom.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0random.uniformrandom.uniform的函数原型为:random.uniform(a, b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。如果a > b,则生成的随机数n: a <= n <= b。如果 a <b, 则 b <= n <= a。print random.uniform(10, 20) print random.uniform(20, 10) #---- 结果(不同机器上的结果不一样) #18.7356606526 #12.5798298022 random.randintrandom.randint()的函数原型为:random.randint(a, b),用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= bprint random.randint(12, 20) #生成的随机数n: 12 <= n <= 20 print random.randint(20, 20) #结果永远是20 #print random.randint(20, 10) #该语句是错误的。下限必须小于上限。 random.randrangerandom.randrange的函数原型为:random.randrange([start], stop[, step]),从指定范围内,按指定基数递增的集合中 获取一个随机数。如:random.randrange(10, 100, 2),结果相当于从[10, 12, 14, 16, ... 96, 98]序列中获取一个随机数。random.randrange(10, 100, 2)在结果上与 random.choice(range(10, 100, 2) 等效。random.choicerandom.choice从序列中获取一个随机元素。其函数原型为:random.choice(sequence)。参数sequence表示一个有序类型。这里要说明 一下:sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。有关sequence可以查看python手册数据模型这一章,也可以参考:http://www.17xie.com/read-37422.html 。下面是使用choice的一些例子:print random.choice("学习Python") print random.choice(["JGood", "is", "a", "handsome", "boy"]) print random.choice(("Tuple", "List", "Dict")) random.shufflerandom.shuffle的函数原型为:random.shuffle(x[, random]),用于将一个列表中的元素打乱。如:p = ["Python", "is", "powerful", "simple", "and so on..."] random.shuffle(p) print p #---- 结果(不同机器上的结果可能不一样。) #['powerful', 'simple', 'is', 'Python', 'and so on...'] random.samplerandom.sample的函数原型为:random.sample(sequence, k),从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列。list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] slice = random.sample(list, 5) #从list中随机获取5个元素,作为一个片断返回 print slice print list #原有序列并没有改变。 上面这些方法是random模块中最常用的,在Python手册中,还介绍其他的方法。感兴趣的朋友可以通过查询Python手册了解更详细的信息。 -
Django静态文件的配置
一直在寻找产品部署环境和开发环境时,Django静态文件配置的差异化。比如说网站的css js和一些非程序相关的文件,我暂时看成是静态文件。我们怎么正确配置,才能让Django网站解析到静态文件呢?简明来说,要注意两个文件:settings.py url.py。首先在settings文件中,引用os模块:import os然后我们定义一个常量,项目的根目录地址:PROJECT_PATH = os.path.abspath(os.path.dirname(__file__))再者就是给MEDIA_ROOT赋值为:MEDIA_ROOT= os.path.join(PROJECT_PATH,'static')(注意,我们的静态文件在根目录下的static文件里,如果文件夹名不一样,join的参数改成 自己起用的名字)settings.py 配置完了,urls.py呢?如下配置:from django.conf import settingsurl(r'^static/(?P<path>.*)$', 'django.views.static.serve',{'document_root': settings.MEDIA_ROOT },name="media"),^static/(?P<path>.*)$的static,可以随自己喜欢的名字,建议参考Django最佳实践做法。也许urls配置很重要,稍微不小心,url经常解析不到真正的静态文件。之前喜欢使用media,比如^media/(?P<path>.*)$,结果老解析不到静态文件,还瞎捣鼓MEDIA_ROOT,终究还是没有解析成功,后来把media改成static,一下子成功了。注意不一定是static,只要不是media,应该就可以了。很奇怪,不知道是不是Django其他地方用到media了,比如Django的Admin。最后就是如何在templates里使用静态文件了:<script type="javascript/text" src="/static/js/config.js"></script><link rel="stylesheet" type="text/css" href="/static/css/contents.css"/><img src="/static/images/logo.ipg" alt=""/>使用的时候注意 路径的开头需要加上/ 这样的配置,在开发环境中式能正常解析的,在产品部署环境中,只需修改settings文件的MEDIA_URL ADMIN_MEDIA_PREFIX把他们改成实际的域名MEDIA_URL='http://www.XXX.com/static/'ADMIN_MEDIA_PREFIX='http://www.XXX.com/static/admin/'ADMIN_MEDIA_PREFIX后面的admn,可能有点差异,我们是把Django的admin静态文件拷贝到static文件夹里,名叫admin,(结构:static/admin/)。补充:根据实际的实践中,发现ADMIN_MEDIA_PREFIX如果指定了后缀media或者static,比如:ADMIN_MEDIA_PREFIX='http://www.XXX.com/media/'或者ADMIN_MEDIA_PREFIX='http://www.XXX.com/static/';urls.py应该另起一个后缀,比如:url(r'^site_media/(?P<path>.*)$','django.views.static.serve',{'document_root':settings.MEDIA_ROOT },name="site_media"),我们指定了site_media作为后缀,而没有采用media和static,是避免和后台的静态路径冲突而我们应用的静态文件无法得到正常解析。(完) -
在Heroku建立一个App遇到问题解决办法
heroku建立app的时候,首先需要git和ssh,sudo apt-get install git-core sudo apt-get install ssh 执行了两条ubuntu命令后,算是顺利完成安装了。gem install heroku 安装heroku之后,要建立一个app;heroku create,帐号认证,竟然出现错误:No ssh public key found in /home/***(计算机名)/.ssh/id_[rd]sa.pub. You may want to specify the full path to the keyfile.帐号没有错,刚刚在heroku上激活的,而且我也已经生成了ssh key ,输入ssh-keygen -t rsa 后,认认真真输入key和pass..最后出来的数字码和随机图,都没有什么异常。但到了建立app的时候,死活进不去,出来总是:No ssh public key found in /home/***(计算机名)/.ssh/id_[rd]sa.pub. You may want to specify the full path to the keyfile.正在纳闷的时候,重新生成ssh key;不经意没有输入key和pass,ssh-keygen -t rsa 一路回车,同样也生成了shh 数字码和随机图,建立app的时候意外的成功了!玄乎.... -
比较Perl、PHP、Python、Java和Ruby
!预览语言的发展趋势一定是动静结合、刚柔并济Perl凝练晦涩,Python优雅明晰,Ruby精巧灵动,PHP简明单纯或许优雅正是来自对细节和规范的重视(RoR)与Ruby结合之后,便如一只猱身而上灵猫,立刻衬托出Java和.NET大象般的身影?提问Perl、Python、Ruby和PHP各自有何特点?为什么动态语言多作为轻量级的解决方案?LAMP为什么受欢迎?Ruby on Rails为什么会流行?编程语言的发展趋势是什么?:讲解“剩下四种动态语言,我们将之归为后台脚本语言。”冒号说着画了张图表——引号听得仔细:“我记得您开始是把这些语言划分为C族静态语言、非C族静态语言和动态语言三类的。”冒号解释:“那是按语法来划分的,偏重理论;现在是按应用来划分,偏重实践。”句号旋即联想到:“这种分法貌似三层架构——前台语言对应表现层;平台语言和后台脚本语言对应业务逻辑层;系统语言对应数据层。”“的确有几分神似,但千万不可混淆。”冒号提醒道,“三层架构(three-layer architecture)是模块设计上的逻辑划分[1];而这里是按语言应用范围进行的物理划分——与用户交互的是前台语言,与机器交互的是系统语言,介于其中的为前台提供服务同时又需要底层系统服务的是后台语言。”逗号询问:“后台语言又细分成平台语言与后台脚本语言?”“这是基于程序(program)与脚本(script)、静态与动态而分的。”冒号进行说明,“其实Perl,PHP,Python和Ruby都有自己的虚拟机(virtual machine),从这种意义上说它们也可作为平台语言。但在实际应用中,它们没有Java平台和.NET平台那种整合凝聚力和核心作用,通常作为轻量级的解决方案。”问号想探个究竟:“这是由于它们都是动态语言的缘故吗?”冒号回答:“理论上动态语言同样能承担大型应用,但实践上它们多作为粘合语言或用于中小型应用。用句时髦的话来形容,暂时还是主流的配角或非主流的主角。毕竟在运行效率、类型安全、可用资源、开发工具、技术支持等方面,它们与Java、C#相比尚有一定差距。另外它们同属‘草根’语言,虽有开源社区的大力支持,在影响力上与后者未可同日而语。”叹号揣测:“说不定在不久的将来,动态语言也会成为主流的主角。”“世易时移,殊难逆料。但有一点可以肯定,语言的发展趋势一定是动静结合、刚柔并济。”冒号断言,“一方面以Java和C#为代表的静态语言中嫁接了动态语言的枝条;另一方面以Java和.NET为代表的平台与动态语言的交壤地带也在逐步扩大。比如JRuby允许Ruby与Java之间互相调用,类似的还有Jython、IronRuby、IronPython等等。此外值得一提的是,动态语言最活跃的舞台当数LAMP,L-A-M-P。”引号接茬:“L是Linux,A是Apache,M是MySQL,P是PHP。这四大组件形成了一个完整的开源网络开发平台。”冒号补充道:“P也可指Perl、Python,甚至Ruby。”逗号调侃:“可惜Ruby的‘R’比‘P’多了一根尾巴。”“有人为了自圆其说,干脆让P表示‘Programming language’,这下所有语言都囊括其中了。老外就喜欢玩这种首字母缩略(acronym)的文字游戏,尤其LAMP正好还有‘灯’的含义,寓意开源世界的一盏明灯,他们一定更得意了。”冒号语带调笑,“前面我们曾提及,网络应用是生长动态语言最肥沃的土壤,而LAMP就是这块土壤上搭建的平台。作为网络平台,LAMP以其开放灵活、开发迅速、部署方便、高可配置、安全可靠、成本低廉等特色而与Java平台和.NET平台鼎足三分,尤其受中小企业的欢迎。LAMP中Linux是操作系统,Apache是Web服务器,MySQL是数据库系统,而我们当下最关心的是‘P族语言’:PHP、Perl、Python还有Ruby。”问号建议:“作为动态语言,它们的共性上节课已经谈了不少,能说说它们的个性吗?”“它们的个性极为鲜明:Perl凝练晦涩,Python优雅明晰,Ruby精巧灵动,PHP简明单纯。先看老大哥Perl,它博采众家之长,综合了C语言的结构、sed的正则表达式、AWK的关联数组(associative array)、Lisp的表(list)和Unix Shell的命令,此外还有借鉴了一种语言,你们知道是哪种吗?”冒号忽然卖了个关子。逗号猜想:“应该是某种OOP语言吧。”“Perl中确有不少C++的影子,但它的对象模型在5.0以后才引入,典型的半路出家,远不如前面的特征那么自然。与其说是一种自然而然的发展,不如说是在OOP潮流裹挟下的一种身不由己的迎合。真正深入骨髓的借鉴是自然语言。”冒号给出了答案,“我们提过,Perl的发明者Larry Wall是一名语言学家,他认为程序语言应该与自然语言一样,简洁自然、易读易写、表达多样、不拘一格。Perl还有不少的格言或哲学,使得编程语言一改严谨刻板的面孔,散发出浓郁的人文气息。”叹号幽了一默:“我见过Perl的代码,人文气息没闻出来,但我怀疑有乙醚气息——看一会就觉得晕晕乎乎的。”众人大笑。“有人仅用一行Perl代码就实现了RSA算法,你看了那还不得当场晕倒啊?”冒号打趣道,“Perl的各种魔符好似一把把锋利的剪刀,做起文本裁剪之类的工作来游刃有余。这是它最大的长处,当初Perl就是Wall用来做Unix系统管理的,以后在CGI上的广泛应用也得益于此。这也赋予Perl极强的粘合力,因而有‘internet上的胶带(duct tape)[2]’的说法。它又号称瑞士军刀,精练而复杂,实用而强大。但Perl过于灵活自由,缺乏规范,影响了程序的可读性、一致性、整洁性和可维护性。不熟悉该语言的固然如读天书,熟悉语言而不熟悉问题的也颇费思量。相比之下Python被认为是Perl有力的挑战者,不仅在于它天然的OO设计和丰富的类库,更重要的是它对程序员友好度大大超过Perl。Python也有一系列的被称为禅(Zen)的哲学,不少与Perl是针锋相对的。比如:Perl认为做一件事可以有多种方法,而Python认为一件事应该最好只有一种方法;Perl追求语言的表现力,Python追求简单优雅;Perl喜欢隐性暗示,Python强调显性明示;Perl强调紧凑,Python强调松散; Perl的语法和语义丰富,Python的语法和语义简单而类库丰富。或许Python最让人不习惯的是它对空白符敏感性。”引号感到惊奇:“对空白符敏感?这个倒真怪异。”冒号见惯不怪:“虽然有点违反习惯,但非常符合Python一贯的规范简洁的风格——一方面从语法上保证了良好的编码风格;另一方面,每个代码块不再需要起始的大括号或begin/end之类的,减少了的代码行数。顺便插一句,另外一种优雅的语言Haskell同样对空白符敏感,或许优雅正是来自对细节和规范的重视吧。此外许多人抱怨Python中的自引用self太多,殊不知这也是它倡导显式表达的一种体现。总的看来,Python主要的问题还是在性能效率上不尽如人意。”叹号好奇地问:“Ruby怎么样?据说它将取代Java。”“不要轻言‘取代’二字。”冒号规诫道,“Java没有取代C++,也不会被Ruby取代,至多只是一种再分配。不过Ruby的确是门很可爱的语言,兼具Perl的表现力和Python的可读性。Ruby背后最具特色的理念是:关注程序员使用语言时的感受超过语言本身的功能。通俗地说,兵器的称手比锋利更重要;文雅地说,应给予程序员更多的人文关怀。就拿代码块(block)和迭代器(iterator)来说,虽然均非Ruby首创,但其语法最为赏心悦目。类似的例子比比皆是。Ruby的元编程能力特别强,也是它高度灵活的一种体现,但并不是所有人都喜欢这种风格。Ruby的主要弱点有两个:一个与Python类似,在性能上还有待提高;另一个是它的线程由用户空间(user space)而不是内核空间(kernel space)来管理[3],不能充分利用多核或多CPU。真正让Ruby变得炙手可热的是web应用框架 Ruby on Rails(RoR)的成功,它们还催生了Java平台上的Groovy语言和Groovy on Grails框架。RoR奉行的CoC(Convention over Configuration)和DRY(Don't repeat yourself )原则以及MVC架构看似了无新意,但与Ruby结合之后,便如一只猱身而上灵猫,立刻衬托出Java和.NET大象般的身影。”逗号有些怀疑:“框架竟然捧红了语言,框架真有这么重要吗?”“如果web应用中动态页面较少或业务逻辑不复杂,框架的价值并不大。以前CGI编程就是往Perl之类的代码中嵌入HTML代码,如同Java中的Servlet;PHP则单纯地在HTML代码中插入PHP代码,如同早期的JSP。没有MVC,也不管什么三层架构,更没有ORM。但是——”冒号拖了个转折音,“一旦业务逻辑变得复杂,开发人员增多,手工作坊式编程开始捉襟见肘,引入框架这个流水生产线来提高生产力便是大势所趋。”句号不解:“我想Perl、Python和PHP一定也有不少框架,Java中的框架更是泛滥成灾,何以独独RoR脱颖而出?”冒号作出分析:“正值web2.0和敏捷开发(agile development)的概念流行之际,RoR将AJAX与Ruby组合在一起成为绝佳的回应。以前各种web应用框架是不少,但在RoR之前轻量级套餐式解决方案并不多。Perl中的Catalyst、Python中的Pylon还有PHP中的CakePHP等应是效仿之作。因此RoR出现的时机可说是不早不晚,正当其时。此外,Perl和PHP由于过于流行,反而有不少的历史包袱,人们习惯了将表示逻辑和业务逻辑编织在一起。至于Java企业解决方案,框架太多,搭配组合更多,增加了选择的难度。即使采用最常见的轻量级SSH(Struts+Spring+Hibernate)组合,维护起来也比RoR繁杂得多。”叹号愈发担忧:“听这意思,Java还是危险啊!”“言之过早。”冒号不以为然,“首先RoR还有待进一步检验,目前无论是应用广度还是深度上尚无法与Java相提并论;其次Java在性能、安全等方面还是有不少优势,而这些对于大型和关键性的应用来说尤为重要。即使在中小型web应用中,RoR较之PHP还远为不及。”问号接下话题:“PHP为何如此流行?”“因为它简单、专一。”冒号答得很干脆,“与Python和Ruby一开始就定位通用语言不同,PHP是专为网络而生的。同早期的Perl相似,PHP起初主要起文本过滤器的作用,只不过Perl多处理文件流(file stream),而PHP多处理套接字流(socket stream)。PHP的语法简单,且为网络应用度身定造,受到网络开发人员的追捧当在情理之中。它虽很实用很流行,但并不完美。比如:变量名大小写敏感而函数名大小写不敏感;函数命名规则不一致;不支持namespace和unicode[4];与Perl一样,它的对象模型不是先天的,直到PHP 5才真正完善;对线程支持不足;相比Perl、Python和Ruby,它的功能稍显单薄等等。”引号突然想起:“我记得您在第一堂课提到PHP还能用于桌面应用。”“不仅PHP,Perl、Python还有Ruby,都能作为前台语言来开发命令行或图形界面的应用。同样地,VB、Delphi和JavaScript也能作为后台语言。现代的程序语言既有自己的专长,又向通用化和全能化发展,以争取更多的生存空间。试想一下,现代的程序员又何尝不是如此呢?”言及于此,冒号收住话题,“语言简评告一段落,还有不少既有趣又有用的语言,在此就不一一评说了。我们看到,每种编程语言都有其独特的惯例用法和哲学理念,它们与编程范式一道形成了语言的编程风格。体悟愈深者编程语感愈强,思维与语言愈交融无碍,渐从必然王国走向自由王国。”逗号满怀憧憬:“那是不是一种人剑合一的境界?”“或许人器合一更准确吧,程序员可不能只会一种兵器哟。”冒号故意抠他的字眼,“现在请大家每人写一句对本节课的感言。”众人沉思片刻,齐齐挥笔而就——叹号——没有最好的语言,只有最合适的语言。逗号——没有糟糕的语言,只有糟糕的程序员。问号——没有一种语言是万能的,只会一种语言是万万不能的。引号——废除对语言的宗教信仰,建立对语言的哲学思维。句号——编程就是在人脑和电脑之间寻找最佳平衡点的过程。冒号读罢大悦,顺手一掌拍出五记马屁:“精彩之极!可谓字字珠玑、句句联璧啊。兹决定,给诸位的奖赏是——立时下课!”众人欣然领赏而去。插语[1] 有两种三层架构,一种是three-layer architecture,一种是three-tier architecture。它们经常换用,但其实是有分别的:前者仅仅在逻辑进行划分,而后者在物理上也进行了划分——不同层次的模块运行在不同的主机上。[2] 不少地方译作‘输送带’、‘传送带’,因为duct有‘输送管’、‘导管’之意,于是想当然地认为这表明Perl在internet上起着输送作用。殊不知‘duct type’专指一种万能的粘性极强的胶带,用以比喻Perl的粘合力。[3] 这类线程被称为绿色线程(green thread),也称伪线程。据称Ruby2.0将支持原生线程(native thread)。[4] PHP将在5.3.0支持namespace,将在6.0支持unicode。总结比起Java平台和.NET平台,动态语言轻便灵活、开发效率高,但整合凝聚力还不够,在运行效率、类型安全、可用资源、开发工具、技术支持以及影响力等方面也有一定差距,故通常作为轻量级的解决方案。LAMP是由Linux、Apache、MySQL和包括PHP、Perl、Python或Ruby在内的脚本语言组成的网络开发平台,具有开放灵活、开发迅速、部署方便、高可配置、安全可靠、成本低廉等优点。Perl精练、复杂、强大、灵活、自由、隐晦、表现力强,但规范性、可读性、一致性、整洁性和可维护性较差。Python优雅规范、简洁明晰、易学易用、类库丰富,但效率稍差,有些人不喜欢它对空白符敏感的特性。Ruby语法精巧、高度灵活,兼具Perl的表现力和Python的可读性,尤其注重程序员的感受,但其性能和线程模型尚有待改进。PHP简单、专一、实用、流行,在但相比其他三种语言,在语法和功能上稍有欠缺。RoR是一种轻量级套餐式的web应用解决方案,是友好的设计(MVC架构和CoC、DRY原则)加上好的语言(Ruby)在好的时机(web2.0和敏捷开发风行之际)打造出的好的框架。静态语言与动态语言从语言特征到运行环境都在逐渐融合。程序员应该与程序语言一样,既要有自己的专长,又要向通用化和全能化发展。编程语言惯例用法、哲学理念和编程范式形成了语言的编程风格。 -
Ubuntu下安装MySQL
Linux新手,常常为现在源码 编译 安装感到迷茫,今天在Ubuntu官方上找到简易安装MySQL的方法,以便以后配置开发环境做备忘录.以下是通过Ubuntu的终端通过远程源来安装MySQL。之前最好更改系统的源为中国源,1 更改到中国源系统的顶端菜单 系统--更新管理器--(底下左边)设置(输入管理员root密码)--Ubuntu软件--下载自 <选择> 其他站点--中国的 mirrors.163.com(根据你使用的带宽来选择吧)2 安装MySQL要安装 MySQL,可以在终端提示符后运行下列命令:sudo apt-get install mysql-server mysql-client #中途会让你输入一次root用户密码sudo apt-get install php5-mysql #安装php5-mysql 是将php和mysql连接起来一旦安装完成,MySQL 服务器应该自动启动。sudo start mysql #手动的话这样启动sudo stop mysql #手动停止当你修改了配置文件後,你需要重启 mysqld 才能使这些修改生效。要想检查 mysqld 进程是否已经开启,可以使用下面的命令:pgrep mysqld如果进程开启,这个命令将会返回该进程的 id。3 文件结构MySQL配置文件:/etc/mysql/my.cnf ,其中指定了数据文件存放路径datadir = /var/lib/mysql如果你创建了一个名为 test 的数据库,那么这个数据库的数据会存放到 /var/lib/mysql/test 目录下。4 进入MySQLmysql -uroot -p (输入mysql的root密码)baoyalv@ubuntu:~$ mysql -u root -pEnter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 37Server version: 5.1.41-3ubuntu12.3 (Ubuntu)Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> 修改 MySQL 的管理员密码:sudo mysqladmin -u root password newpassword5 简单的操作显示数据库:mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || mysql |+--------------------+2 rows in set (0.00 sec)6 phpmyadmin管理用随便一个支持PHP的web服务器(如Apache、Nginx、Lighttpd),下载phpmyadmin,装之。sudo apt-get install phpmyadmin #注意这是安装到/usr/share/phpmyadmin -
Windows上安装Nginx注意事项
本来想在windows7上安装Nginx,然后部署Django的,过程中遇到了一些小问题,所以都记录下来!供以后查阅!几个细节的东西,有必要写清楚!官网上下载地址:http://nginx.org/en/download.html就那最新的版本做实验吧。我下了 windows原生版本 0.8.53,整个文件就是一个zip压缩文件。下载到C盘的根目录下,解压缩。出来的文件夹是nginx-0.8.53,顺便改成了nginx,方便使用(其实改不改都没有关系,改了,是因为重启nginx的时候,少打点字母罢了)。然后冲动的进入文件夹,双击启动文件nginx.exe,弹出了一个doc窗口,就在眨眼的功夫里,消失了,没有看清提示什么内容;不管三七二十一,我在浏览器了,打开127.0.0.1,提示 无法显示页面。我们没有安装IIS7,如果是无法显示页面,说明nginx启动失败了。但是到底是什么原因让nginx无法启动呢?我想个办法,放doc的提示显示出来,结果提示是:[emerg]:bind() to 0.0.0.0:80 failed <10013: An attempt was made to access a socket in a way forbidden by its access permissions>看提示信息,是因为windows 的80 端口被占用了,所以又想办法把80端口释放了,最终还是没有释放成功,windows把80端口保留给最底层的进程用了,释放80端口行不通,又想别的招。然后安装了IIS7,这时80端口自然就分配给IIS7了。IIS安装成功,然后把停止IIS7的运行,自然80端口就被闲置了。果真如上所说,80端口真的被释放了。然后双击nginx.exe来启动nginx,这回没有提示信息了,打开浏览器 127.0.0.1:80;呵呵,nginx终于正常运行。为什么要nginx运行在80端口上呢?因为本人想让nginx作为代理服务和前端服务。域名指向到服务器的ip的时候,直接就找到nginx。所以周折了一番。在配置django环境的时候,有遇到了问题。我明明修改了nginx.conf的参数了,在重新启动的时候,都是无效的,很是郁闷,所以django环境配置无法配置成功了。仔细检查了配置文件的语法错误,发现了一些错误,修改过来了,仍然无效,干脆恢复原来的配置文件,还是老样子,这么一来就奇怪了。压根重启是无效的。官方的文档很清楚:nginx -s stop quick exitnginx -s quit graceful quitnginx -s reload changing configuration, starting a new worker, quitting an old worker gracefullynginx -s reopen reopening log files就这么几行命令,执行后,一切都正常,就是没有效果。最后想到办法,打开windows的任务管理器,把nginx的几个进程都关闭了,启动nginx,终于看到想要的效果了。nginx对windows的支持还不算很好,有些东西还是很折腾。 -
Windows7+Nginx+Flup(fastgci)+Django
上回记录了Windows7配置了Nginx环境,这回让Django跑在Nginx上。之前是需要点理论知识沉淀的;建议之前看看:http://www.fresh3g.org/blog/post/346/ 感觉写的很详细。下面是根据那些理论知识去尝试配置环境:首先我们要做的是:安装及配置Django,Nginx和Flup;Django和Nginx环境配置不再累赘。请参考:http://baoyalv.com/blog/baoyalv/Django/2010/02/03/4和http://baoyalv.com/blog/panjj/other/2010/11/07/136;安装Flup,到官网上http://www.saddi.com/software/flup/dist/flup-1.0.2.tar.gz下载,解压后发现是python写的类库,把它安装到python里,安装方法和其他的python类库一样做法,在doc命令行里执行:python setup.py install #注意要求python写到path里,才能有python命令过程中可能需要联机,因为安装的过程中需要下载一些相关的东西。接下来,1.配置Nginx,配置文件见以下代码:worker_processes 1;events {worker_connections 64;}http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;server {listen 80;server_name 127.0.0.1;root /cygdrive/G/myproject/;index index.html index.htm;charset utf-8;# 静态资源location ~ ^/static/{expires 30d;break;}location / {# 指定 fastcgi 的主机和端口fastcgi_pass 127.0.0.1:9001;fastcgi_param REMOTE_ADDR $remote_addr;fastcgi_param PATH_INFO $fastcgi_script_name;fastcgi_param REQUEST_METHOD $request_method;fastcgi_param QUERY_STRING $query_string;fastcgi_param CONTENT_TYPE $content_type;fastcgi_param CONTENT_LENGTH $content_length;fastcgi_param SERVER_PROTOCOL $server_protocol;fastcgi_param SERVER_PORT $server_port;fastcgi_param SERVER_NAME $server_name;fastcgi_pass_header Authorization;fastcgi_intercept_errors off;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}}建议备份好原来的配置文件,然后再覆盖nginx文件。该配置文件只是实验用,连log都没有写,想了解更详细的文档,参考官方文档:http://wiki.nginx.org/DjangoFastCGI现在列出关键的几个地方:server {listen 80; #首先让Nginx跑在Windows的80端口上:server_name 127.0.0.1;#写上project对应的域名 我们在本地上测试,所以是127.0.0.1root /cygdrive/G/myproject/;#项目的根目录,在windows下,如果是G盘,写上/cygdrive/G/,依次类推。切忌不要写成G:\myproject\location ~ ^/static/ #静态文件指向,我们直接指向项目根目录的static文件夹,根据实际情况正确指向fastcgi_pass 127.0.0.1:9001;#我们通过fastgci(flup)在9001端口上跑django项目fastcgi_param REMOTE_ADDR $remote_addr;#加上这行,是因为django request用到获取真实ip的的属性,关键的地方都一一说明了,检查配置都写对后,重启Nginx,(记得任务栏里关掉全部nginx进程再重启)2 通过fastgci run django在doc里进入django项目的根目录,启动:manage.py runfcgi method=threaded host=127.0.0.1 port=9001也可以编写指令,方面启动:在项目的根目录下新建 一个vbs文件run:set ws=wscript.createobject("wscript.shell")ws.run "manage.py runfcgi method=threaded host=127.0.0.1 port=9001",0以后每次启动,双击run文件即可。现在在浏览器上,输入:127.0.0.1 是不是看到页面跑起来了?? -
Windows7安装Postgresql 8.4以上版本出错解决办法
在Vista或者Windows7上安装Postgresql 8.4或者Postgresql 9.0,到了最后的关头总是出错!提示错误信息是:database cluster initialization failed。也许很沮丧吧?但是看一下错误,就知道为什么了?今天来解决PostgreSql不能安装的问题:首先安装进度到了选择database cluster的时候,不要选择默认的选项:Default locale;随便选一个,推荐选择english en-us。然后一路安装过去,就能成功了。网络上说是权限问题,本人无从考证,如果以上设置还是没有安装成功的时候,你可以到安装遗留目录postgresql上,将此目录的权限赋给所有人,也就是everyone。最后把控制面板中的 User Account Control settings(UAC)的安全级别关闭,再试试。(完) -
在Django中使用CKEditor
在博客中使用富文本编辑器是很常见的,今天尝试在Django中使用比较知名的CKEditor。前提条件是通过静态文件的正确配置,可以参考之前写的《Django静态文件的配置》,今天不再累赘。一 前提条件:1. 找到第三方支持插件:django-ckeditor相关开源项目地址:https://github.com/dwaiter/django-ckeditor2. python中安装simplejson相关包地址:http://pypi.python.org/pypi/simplejson/安装方法和安装其他Python第三方库是一样的(下载该包,解压,到包的目录下,执行 python setup.py install,过程中python会自动寻找依赖的类库,所以你必须能连上网络)。二 配置CKEditor环境你可以选择把django-ckeditor安装到python里,也可以把下载的django-ckeditor作为自己的app来用。我选择后者。下载的django-ckeditor,目录结构:ckeditorsetup.py...把django-ckeditor里的ckeditor直接粘贴到我们的项目中,然后把该app的templates和media挪出来,整个项目的目录结构:app_test #这是我特意创建的一个自己的app,作为测试用。ckeditorstatic--|ckeditor----|...--|css----|...templates--|ckeditor__init__.pymanage.pysettings.pyurl.py整个过程就是把下载的ckeditor文件夹当成一个全新的app,熟悉的Django的就不必一一介绍了,如果你和我一样是新手,不用担心,我们教程后面有一个基本的实例 供参考。我们在settings.py最后一行,给ckeditor写一些配置:CKEDITOR_CONFIGS = { 'default': { 'toolbar':[ ['Source','-','Save','NewPage','Preview','-','Templates'], ['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print','SpellChecker','Scayt'], ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'], ['Form','Checkbox','Radio','TextField','Textarea','Select','Button', 'ImageButton','HiddenField'], ['Bold','Italic','Underline','Strike','-','Subscript','Superscript'], ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'], ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], ['Link','Unlink','Anchor'], ['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak'], ['Styles','Format','Font','FontSize'], ['TextColor','BGColor'], ['Maximize','ShowBlocks','-','About'] ], 'width': 650, 'height': 200, 'toolbarCanCollapse': False, }, 'simple_toolbar': { 'toolbar': [ [ 'Bold', 'Italic', 'Underline' ], ], 'width': 650, 'height': 50, }, }一个是默认的配置,几乎是ckeditor的全部功能,一个是简单的配置,仅仅提供几个再简单不过的功能。更具体的配置参考CKEditor官方网站吧。三 使用CKEidor涉及到表单控件的,我们习惯使用Django的forms。我们在app_test里定义了一个forms类#coding=utf-8from django import formsfrom ckedj.ckeditor.widgets import CKEditor #ckedj是定义的项目名class BlogPostForm(forms.Form): title = forms.CharField() # This field will render as a CKEditor with the 'simple_toolbar' config. subtitle = forms.CharField(widget=CKEditor(ckeditor_config='simple_toolbar')) # … -
Django&JQuery手动剪切个性头像+实例
几个月前,尝试Django结合Jquery的jquery imgareaselect插件,对头像进行剪切。用的场合很特别,虽然用处不是很大,但有些朋友却要求提供此类应用的源码。想想,之前写的《Django&JQuery手动剪切个性头像》主要是原理性的东西,看着很抽象,片段的代码,难免造成困惑,所以想:何不把龅牙驴的头像剪切功能抽取出来,做个独立的学习实例呢?所以今晚专门赶出来了,但是很遗憾,学习实例并不是做成通用的Django插件,让读者即插即用。因为没有插件开发方面的经验和精力,所以还是做出一个app,没有考虑太多的通用性和扩展性,旨在学习,抛砖引玉!需要的朋友可以下载 源码,源码是完整的 project,包括静态文件的配置都全了,想学习Django静态文件配置的朋友,也可参考整个project。环境:Django 1.2.3+jquery.imgareaselect-0.9.3+SQLite3好了,如果源码有任何问题,请文章后面回复我,或者通过龅牙闲聊告诉我吧!应用截图: