django的rails风格的面向资源的体系结构。

dagn的Python项目详细描述


#dagny

dagny是[ruby on rails][]面向资源的
架构(也称为"restful rails")的[django][]改编。
dagny使构建**资源丰富的**web应用程序变得非常容易。

[django]:http://django project.com/
[ruby on rails]:http://rubyonrails.org/

改变。**有人警告过您。**

p.s.:名称是[a reference][dagny taggart]。

[dagny taggart]:http://en.wikipedia.org/wiki/list悻u atlas悻u shrusted悻dagny悻u taggart


RK实际上很难让你的应用程序变得不*restful。

响应呈现的逻辑使得编写api成为一项不费吹灰之力的任务。

最后,尽管rails的灵感很强大,但它仍然需要与django和python生态系统的实践和习惯保持一致。Dagny还没有使用任何元类,代码被大多数pythonista的标准很好的记录和可读性。





/>类轮询(资源):

@action
def index(self):
self.polls=models.poll.objects.all()

@action
def new(self):
self.form=forms.pollform()

@action
def create(self):
self.form=forms.pollform(self.request.post)
如果self.form.is_valid():
self.poll=self.form.save()
返回重定向("poll show",self.poll.id)

return self.new.render()

@action
def edit(self,poll_id):
self.poll=get_object或_404(models.poll,id=int(poll-id))
self.form=forms.pollform(instance=self.poll)

@action
def update(self,poll-id):
self.poll=get_object_或_404(models.poll,id=int(poll-id))
self.form=forms.pollform(self.request.post,instance=self.poll)
f.form.is_valid():
self.form.save()
返回重定向("poll show",self.poll.id)


返回self.edit.render()

@action
def destroy(self,poll_id):
self.poll=get_object_或_(models.poll,id=int(poll_id))
self.poll.delete()
返回重定向("poll index")

创建模板:

<;!--
<;lt;ol>;
{%n%n%n%n%n%n%n%n%n%n%n%n%n%n%br/><;li>;<;a{%n%n%n%n%n%n%n%n%
<;lt;br/>>;<;lt;lt;lt;p>;<;lt;lt;lt;lt;lt;lt;lt;lt;
>>>>>>%n%n%n%n%url-poll-p ol投票<;/a>;<;/p>;

<;!--polls/new.html-->;
<;form method="post"action="{%url poll{create%}">;
{%csrf_token%}
{{{self.form.as_p}
<;input type="submit"value="create poll"/>;
<;

<;!--polls/show.html-->;
<;p>;名称:{{self.poll.name}<;/p>;
<;p>;<;a href="{%url poll edit self.poll.id%}">;编辑此投票<;/a>;<;/p>;

<;!--polls/edit.html-->;
<;form method="post"action="{%url poll update self.poll.id%}">;
{%csrf token%}
{{{self.form.as}
<;input type="submit"value="update poll"/>;
<;

设置URL:

f.url.defaults从dagny导入*
。url导入资源

urlpatterns=patterns('',
(r'^poll s/',resources('polls.resources.poll',name='poll'),



done.



[]它展示了一个用户
管理应用程序,在标准
`django.contrib.auth`应用程序的基础上构建了几行代码。

[示例项目]:http://github.com/zacharyvoase/dagny/tree/master/example/

se/dagny.git'
cd dagny/
pip install-r requirements\installs runtime requirements
pip install-r requirements.test\installs test requirements
cd example/
./manage.py syncdb\creates db/development.sqlite3
./manage.py test users\runs all测试
./manage.py runserver

,然后访问<;http://localhost:8000/users/>;查看它的运行情况!


n-商业性的,并以任何方式。

在承认版权法的司法管辖区内,本软件的作者将本软件的任何和所有版权权益奉献给公众。我们这样做是为了广大公众的利益,也是为了损害我们的继承人和继承人的利益。我们打算将此承诺作为一项公开的行为,永久放弃版权法下对本软件的所有现有和未来权利。



本软件按"原样"提供,不作任何形式的明示或暗示保证,包括但不限于适销性、适合性
用于特定目的和非侵权。在任何情况下,作者均不对任何索赔、损害或其他责任负责,无论是在合同、侵权或其他诉讼中,由软件或软件的使用或其他交易引起的、由软件或软件的使用或其他交易引起的或与之相关的。


t;http://unlicense.org/>;

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java向嵌入式Jetty添加多个端点   java如何在JAXWS处理程序中区分请求和响应?   使用Scenebuilder for JAVAFx的登录应用程序的java MVC体系结构   java对话框将不显示   Windows 7上的Java系统变量   java删除动态添加的面板   java将Javadoc嵌入到HTML网站中   带有URL编码数据的java Spring RestTemplate POST请求   java JAXR只运行一次函数   HttpClient缺少java依赖项   java深层反射比较   基于javarmi和CORBA的分布式计算   如何使用当前数据库时间从Java更新MongoDB?   java通过光标保存数据调试时显示错误数据