Wos*_*oss 18 python django frameworks
我正在研究Django框架,阅读文档,但没有找到关于如何在同一个项目中创建多个应用程序的参考,其中每个应用程序都有多个应用程序.例如,应用程序博客,应用程序用户,评论,帖子,...,实施和任务与应用程序客户端,用户,附件...我该怎么办?
localhost
localhost/blog/ (posts, user, comment, ...)
localhost/tasks/ (task, user, attachment, ...)
<my project>
-- manage.py
-- <project name>
-- -- blog
-- -- -- posts
-- -- -- -- views.py
-- -- -- -- urls.py
-- -- -- -- models.py
...
-- -- tasks
-- -- -- attachments
-- -- -- -- views.py
-- -- -- -- urls.py
-- -- -- -- models.py
...
Run Code Online (Sandbox Code Playgroud)
nla*_*aux 18
每个应用都会在其文件夹中包含以下内容
所以你有了 :
Project
-- manage.py
-- Project
-- -- views.py
-- -- models.py
-- -- others
-- -- APP1
-- -- -- views.py
-- -- -- models.py
-- -- -- others
-- -- APP2
-- -- -- views.py
-- -- -- models.py
-- -- -- others
-- -- APPX
-- -- -- views.py
-- -- -- models.py
-- -- -- others
Run Code Online (Sandbox Code Playgroud)
该实用程序是功能之间的区别(如果您有通知应用程序和通知模型,请调用Notification.models.notification).
模型是对象的体系结构.因此,您将调用User.username或Task.name.Django在数据库中自动创建表.
Django的另一个工具:您可以使用管理视图(可以编辑,创建,编辑使用您的模型的对象)或更改此界面(查看该页面)
如果您希望自己可以制作识别系统并创建表单,则可以使用自己的管理系统.
用你的例子:
<my project>
-- manage.py
-- <project name>
-- -- urls.py
-- -- models.py <--- User model exists in Django and here you can add informations to the defaut model it is in this file because I suppose it will be used in all your project.
-- -- views.py
-- -- blog <--- It's an app.
-- -- -- -- views.py
-- -- -- -- urls.py
-- -- -- -- models.py <--- Posts, Comments are models for the blog, so you explain them here.
-- -- tasks <--- Another app.
-- -- -- attachments
-- -- -- -- views.py
-- -- -- -- urls.py
-- -- -- -- models.py <--- Task model for exemple
Run Code Online (Sandbox Code Playgroud)
Bur*_*lid 14
关于django你应该了解的事情:
URL映射与文件系统或应用程序代码无关.这意味着您的网址与您的代码没有一对一的关系.您可以将多个URL指向同一段代码(指向同一视图).这与PHP不同,例如,URL映射到文件系统.
应用程序不是"小部件"或"portlet".应用程序只是一个python模块,其中包含一些文件(views.py
,models.py
和__init__.py
); 你可以拥有任意数量的应用程序.您还可以使用URL无法访问的应用程序 - 它们只是支持其他应用程序; 并且您的应用程序也不必与URL具有相同的名称.
所以记住这一点......你可以创建一个应用程序,调用它www
,并在其中views.py
,定义这些非常有创意的命名方法:
def blog(request):
pass
def tasks(request):
pass
Run Code Online (Sandbox Code Playgroud)
现在urls.py
,你可以:
url(r'^blog/$','www.views.blog',name='blog-index'),
url(r'^blog/posts/$','www.views.blog',name='blog-posts',kwargs={'view_posts': True}),
url(r'^tasks/$','www.views.tasks',name='task-index'),
url(r'^tasks/attachments/$','www.views.tasks',name='task-attachments'),
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
25912 次 |
最近记录: |