URL导入的Django格式

时间:2018-11-05 02:19:06

标签: python django

我正在将一些视图导入urls.py文件,这就是我所拥有的

from views.home import HomeView
from views.list_player import PlayerList
from views.list_game import GameList
from views.create_player import PlayerCreate
from views.create_game import GameCreate
from views.detail_player import PlayerDetail
from views.detail_game import GameDetail
from views.update_player import PlayerUpdate
from views.update_game import GameUpdate
from views.delete_player import PlayerDelete
from views.delete_game import GameDelete

但是,有没有办法像这样导入它们?

from .views import(
    Home,
    GameList,
    PlayerList,
    PlayerDetail,
    GameDetail,
    PlayerCreate,
    GameCreate,
    PlayerUpdate,
    PlayerDelete,
    GameUpdate,
    GameDelete
    )

看起来更干净。

2 个答案:

答案 0 :(得分:1)

这些语句在功能上是等效的。

http://legacy.python.org/dev/peps/pep-0328/开始,对于Tkinter,括号中的使用已被批准以pythonic方式封装了很长的导入列表:

from Tkinter import (Tk, Frame, Button, Entry, Canvas, Text,
LEFT, DISABLED, NORMAL, RIDGE, END)

似乎第二个语句添加了括号,因为导入列表太长。

但是,您看到从软件包的不同文件夹导入了多种软件包。因此,我想由于homelist_playerlist_game之类的中间文件夹,您将无法直接导入。因此,我看到的最好的方法就是这样做:

from .views import (
home,
list_player,
list_game,
create_player,
create_game,
...
)

:D

答案 1 :(得分:0)

这样更容易导入:

from <appname> import views #in urls.py

以及您可以使用的内部网址格式:

 path(<regex>, views.<viewname>) #url patterns