我有一个在 IT 部门工作时运行的 Web 应用程序。它只显示可供收集的笔记本电脑。总部看到了它,希望我构建它,以便它可以在多个站点上使用,其中一些站点有多个校区。我进行了设置,因此站点的设置只是全局变量,它们被保存到 .ini 文件中并在应用程序启动时加载。现在这不起作用,我决定将这些设置属性设置为一个类,并根据客户端转到的路径创建该类的实例并从 .ini 文件的部分加载属性的值。这看起来很简单,但是由于并非每个站点都有多个校区,因此我需要以某种方式不加载不存在的信息。我什至不确定我正在寻找的内容是否被调用,所以我无法进行足够好的搜索来查看这个问题是否已经解决。下面是一些关于我想要做什么的代码:
# Site class
class site:
name = "" # Name of the site
siteID = "" # Site ID (also path of site specific noticeboard).
key = "" # Helpdesk API Key
url = "" # Helpdesk URL
campusCount = "" # Number of campuses
XCampusName = "" # Name of campus "X".
XCampusApprover = "" # Name of campus "X" return approver.
collectionName = "" # Name of collection status in helpdesk.
approvalName = "" # Name of approval status in helpdesk.
我想我可能需要一个二级课程,其中包含校园名称和授权退回设备的人的姓名,以某种方式链接到站点实例,但我不知道该称呼它或如何表达它以便能够通过谷歌搜索它。作为一个初学者,这样做是因为它让我的生活更轻松,我什至不确定这是否是正确的方法。任何信息都会有帮助。
干杯!
您正在讨论的方法很好。您需要在其中创建两个名为
Site
和 Campus
的独立类。然后,使用 campuses
作为 Site
类的实例变量来引用 Campus
类。
这是实现:
class Campus:
def __init__(self, name, approver):
self.name = name
self.approver = approver
def __str__(self):
return self.name
class Site:
def __init__(self, name, site_id, key, url, collection_name, approval_name):
self.name = name
self.site_id = site_id
self.key = key
self.url = url
self.collection_name = collection_name
self.approval_name = approval_name
self.campuses = []
def add_campus(self, campus):
self.campuses.append(campus)
def get_campuses_count(self):
return len(self.campuses)
现在,定义站点类别,并添加任意数量的校园
site1 = Site("Site1", "ID1", "Key1", "URL1", "CollectionName1", "ApprovalName1")
campus1 = Campus("CampusName1", "Approver1")
site1.add_campus(campus1)
print(site1.campuses[0]) # will print "CampusName1"
print(site1.get_campuses_count()) # will print 1