我与Django的一个项目,使用GeoIP和Django城市光。你知道吗
我们使用它作为项目所在位置的展示页面。你知道吗
因此,您可以按类别或按区域筛选这些项目。你知道吗
北美、亚洲、欧洲。。你知道吗
而且效果很好!你知道吗
但问题是,我被要求加入中东地区。你知道吗
这是我的密码视图.py从展厅应用程序:
class CategoriesRegionsFilterForm(forms.Form):
REGIONS_CHOICES = (
('EU', _('Europe')),
('NA', _('North America')),
('AS', _('Asia')),
('SA', _('South America')),
('AF', _('Africa')),
('OC', _('Oceania')),
('ME', _('Middle East')),
)
categories = forms.MultipleChoiceField(label=_('Categories'),
required=False,
widget=forms.widgets.CheckboxSelectMultiple)
regions = forms.MultipleChoiceField(label=_('Regions'),
required=False,
widget=forms.widgets.CheckboxSelectMultiple,
choices=REGIONS_CHOICES)
first_object = forms.IntegerField(required=False, initial=0)
def __init__(self, *args, **kwargs):
self.request = kwargs.pop('request', None)
super(CategoriesRegionsFilterForm, self).__init__(*args, **kwargs)
categories_qs = ProjectCategory.objects.active_translations(get_language())
self.fields['categories'].choices = [(category.pk, category.name)
for category in categories_qs]
如你所见,我只是简单地添加了中东。看来没有更多的治疗了。你知道吗
但在网站上,发生的是: 当我创建一个测试项目时,例如在伊朗,它将显示为亚洲地区。永远不会出现在中东。你知道吗
如果我为这个项目选择埃及,它将显示为非洲地区过滤器。你知道吗
但它不会出现在中东。你知道吗
在我的心里型号.py,下面是管理区域过滤器创建的行:
regions = models.ManyToManyField(Country, verbose_name=_('Country of the project'),
blank=True, null=True,
related_name='regions_showroom_project')
所以我想我应该亲手加上哪个国家在中东?你知道吗
但由于django cities light的数据是从地理名称中提取出来的,这就很奇怪了。而地名似乎也能识别中东。你知道吗
有人知道这件事吗?我在这里肯定迷路了。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐