Проблема с нелатинскими буквами в ссылках на веб-сайты
Я программирую сайт с помощью django. Я разместил свой сайт на хостинге namecheep и на pythonanywhere (только для тестирования). Я столкнулся с проблемой при добавлении арабских ссылок в проект, на хостинге namecheep, где когда я выбираю ссылку, содержащую арабское слово, она направляет меня прямо на страницу page not found. В pythonanywhere и в localhost, которые нормально принимают арабские ссылки. Теперь я хочу знать, может ли namecheep не принимать арабские ссылки? Есть ли какие-либо настройки в cpanel, чтобы решить эту проблему? Есть ли решение этой проблемы?
Я убедился, что проблема не в коде, а в настройках хостинга
Ошибка 'NoneType' object has no attribute 'user' обычно возникает, когда вы пытаетесь получить доступ к атрибуту объекта, который является None. В вашем случае, похоже, что объект request может быть None, когда вы пытаетесь получить доступ к request.user. Возможное решение - переопределить метод init вашего класса sales_summary_filter, чтобы он принимал аргумент request и использовал его для фильтрации набора запросов по полю username. Вот пример:
class sales_summary_filter(django_filters.FilterSet):
username = django_filters.filters.ModelChoiceFilter(queryset=CustomUser.objects.none()) # Empty initial queryset
class Meta:
model = sales_invoice
fields = ('username', 'voucher_no','client')
def __init__(self, *args, **kwargs):
request = kwargs.pop('request', None)
super(sales_summary_filter, self).__init__(*args, **kwargs)
if request is not None:
self.filters['username'].queryset = CustomUser.objects.filter(username=request.user)
В этом примере поле username изначально задается пустым набором запросов. Когда создается экземпляр sales_summary_filter, метод init запрашивает аргумент с ключевым словом 'request'. Если запрос предоставлен, он обновляет набор запросов поля username для фильтрации на основе request.user.
Затем, когда вы создаете экземпляр sales_summary_filter в вашем представлении, вы передаете объект запроса следующим образом:
filter = sales_summary_filter(request.GET, request=request)
Надеюсь, это поможет вам.