我想为电话号码输入创建一个字段,其中包含2个文本字段(分别为3,3和4),并带有公共"("")" - " - 分隔符.下面是我的字段和小部件的代码,我在初始渲染期间尝试迭代表单中的字段时遇到以下错误(当for循环到达我的电话号码字段时会发生这种情况):
渲染时捕获异常:'NoneType'对象是不可取消的
class PhoneNumberWidget(forms.MultiWidget):
def __init__(self,attrs=None):
wigs = (forms.TextInput(attrs={'size':'3','maxlength':'3'}),\
forms.TextInput(attrs={'size':'3','maxlength':'3'}),\
forms.TextInput(attrs={'size':'4','maxlength':'4'}))
super(PhoneNumberWidget, self).__init__(wigs, attrs)
def decompress(self, value):
return value or None
def format_output(self, rendered_widgets):
return '('+rendered_widgets[0]+')'+rendered_widgets[1]+'-'+rendered_widgets[2]
class PhoneNumberField(forms.MultiValueField):
widget = PhoneNumberWidget
def __init__(self, *args, **kwargs):
fields=(forms.CharField(max_length=3), forms.CharField(max_length=3), forms.CharField(max_length=4))
super(PhoneNumberField, self).__init__(fields, *args, **kwargs)
def compress(self, data_list):
if data_list[0] in fields.EMPTY_VALUES or data_list[1] in fields.EMPTY_VALUES or data_list[2] in fields.EMPTY_VALUES:
raise fields.ValidateError(u'Enter valid phone number')
return data_list[0]+data_list[1]+data_list[2]
class AdvertiserSumbissionForm(ModelForm):
business_phone_number = PhoneNumberField(required=True)
Run Code Online (Sandbox Code Playgroud) python django-templates django-models django-forms django-widget
我想使用相同的ASP.NET MVC应用程序托管多个网站(所有网站都具有不同的域 - 而不是子域).我需要应用程序基于域的不同行为,但我仍然希望相同的应用程序服务所有域.我不想要域转发或重定向,我实际上希望所有域都能自己运行,但是服务于同一个MVC应用程序.我该怎么做呢?值得注意的是,我与GoDaddy共享托管.
提前致谢!
我在共享服务器上运行ASP.NET MVC,我在通过System.Data.EntityClient连接到SQL时遇到问题.下面是我的软件提供商给我连接到SQL的连接字符串以及VS在开发期间为我的本地机器配置的连接字符串,当我部署到服务器时,我的连接字符串应该是什么样子?
来自我的托管服务商:
<add name="WeddingsDBEntities"
connectionString="data Source=<server name>; Initial Catalog=<db name>; User ID=<user ID>; Password=<password>;"
providerName="System.Data.EntityClient"/>
Run Code Online (Sandbox Code Playgroud)
来自VS(开发期间):
connectionString="metadata=res://*/Models.WeddingsModel.csdl|res://*/Models.WeddingsModel.ssdl|res://*/Models.WeddingsModel.msl;provider=System.Data.SqlClient;provider connection string="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\WeddingsDB.mdf;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient"
Run Code Online (Sandbox Code Playgroud)
谢谢!