我是Python的新手.我正在尝试创建一个只允许创建对象的类.我正在使用私有变量实例来跟踪计数.我的代码 -
class s:
__instance=2
if s.__instance<2:
def __init__(self,x):
s._instance = x
s._instance = s._instance+1
print(s._instance)
a=s(5)
Run Code Online (Sandbox Code Playgroud)
当我运行我得到的代码 -
"C:\Users\PIYU\AppData\Local\Programs\Python\Python36\python.exe"
"C:/Users/PIYU/PycharmProjects/PythonProgram/singleton.py"
Traceback (most recent call last):
File "C:/Users/PIYU/PycharmProjects/PythonProgram/singleton.py", line 1, in <module>
class s:
File "C:/Users/PIYU/PycharmProjects/PythonProgram/singleton.py", line 4, in s
if s.__instance<2:
NameError: name 's' is not defined
Run Code Online (Sandbox Code Playgroud) Wrt到下面的代码片段,为什么super().__init__在模型中使用?它是如何工作的?
model.py
class DuckForm(forms.ModelForm):
class Meta:
model = Duck
fields = ('description', 'name')
def __init__(self, community, *args, **kwargs):
super().__init__(*args, **kwargs)
self.community = community
def save(self, commit=True):
duck = super().save(commit=False)
if not duck.community_id:
duck.community = self.community
if commit:
duck.save()
return duck
Run Code Online (Sandbox Code Playgroud)
views.py
def add_duck(request):
if request.method == 'POST':
form = DuckForm(request.animal.community, data=request.POST)
if form.is_valid():
duck = form.save()
return redirect('DuckData')
else:
form = DuckForm(request.user.community)
return TemplateResponse(request, 'MyDuck.html', {'form': form})
Run Code Online (Sandbox Code Playgroud) 由于Django是一个Web开发框架,Drupal是一个CMS.
是否可以将它们一起使用,而不是像Djache一样在Django上使用首选数据库?
也许这个问题不够明确.
是否可以在服务器端同时使用Django和Drupal来提供更好的Web开发解决方案?
我有一份要转换成字典的词典列表。
q2 = [{'ComplainDepartment':'Academic','count':1},
{'ComplainDepartment':'Hostel','count':2}]
Run Code Online (Sandbox Code Playgroud)
更改为:
data = {'Academic':1,'Hostel':2}
Run Code Online (Sandbox Code Playgroud)