django использует выделенный html как будто / else выбор в представлениях - PullRequest
0 голосов
/ 20 декабря 2018

спасибо заранее

Я новичок в веб-разработке, и у меня есть задача сделать этот проект Django.

У меня было Selection, пользователь выберет один и сообщит мнения, которые выбралииспользовать (если и еще, если)

, то представление Запрос данных из БД и вернется к HTML

Я пытаюсь использовать следующий ответ: Django - Как сделатьесли утверждение, если кнопка нажата

, но сталкиваюсь с этой ошибкой:

Environment:


Request Method: GET
Request URL: http://127.0.0.1:8000/ph-data/

Django Version: 2.1.3
Python Version: 3.7.1
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'rest_framework',
 'zigview']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware']



Traceback:

File "C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\handlers\exception.py" in inner
  34.             response = get_response(request)

File "C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\handlers\base.py" in _get_response
  126.                 response = self.process_exception_by_middleware(e, request)

File "C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\handlers\base.py" in _get_response
  124.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\contrib\auth\decorators.py" in _wrapped_view
  21.                 return view_func(request, *args, **kwargs)

File "C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\views\generic\base.py" in view
  68.             return self.dispatch(request, *args, **kwargs)

File "C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\views\generic\base.py" in dispatch
  88.         return handler(request, *args, **kwargs)

File "C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\views\generic\list.py" in get
  157.         context = self.get_context_data()

File "C:\Users\user\Desktop\Frouniter\FrounterWeb- postgreDB\zigview\views.py" in get_context_data
  46.             if request.GET.get('Week') == 'Week':

Exception Type: NameError at /ph-data/
Exception Value: name 'request' is not defined

Я перехожу к секундам, решение которых заключается в использовании ajax, но чем больше Посмотрите на ajax, тем больше потеряя.

Вот мои коды просмотров:

try:
    class index(ListView):
        model = tank_system
        template_name = 'FrounterWeb/extends/includes.html'
        ordering = ['-datetime']

        def get_context_data(self,**kwargs):
            return{'tank':self.get_queryset()}
        #def get_queryset(self):
         #   return

except:
    logger.error('index page request failed/errors')


try:
    class ph(ListView):
        model = tank_system
        template_name = 'FrounterWeb/extends/ph.html'
        context_object_name = tank_system
        ordering = ['-datetime'] # sort dates in descending order

        def get_context_data(self, **kwargs):
            ###################### Days filter #################################
            today_date = datetime.now().day#call today datas
            yesterday_date = datetime.now().day - 1
            ###################### end of Days filter ###########################


            ############################# Weeks Filter ######################
            # last week math caluactions
            some_day_last_week = timezone.now().date() - timedelta(days=7)
            monday_of_last_week = some_day_last_week - timedelta(days=(some_day_last_week.isocalendar()[2] - 1))
            monday_of_this_week = monday_of_last_week + timedelta(days=7)
            # last week math caluactions

            #this week data
            monday_of_next_week = monday_of_this_week + timedelta(days=7)
            Thisweekdata = {'tank': self.get_queryset().filter(datetime__gte=monday_of_this_week, datetime__lt=monday_of_next_week)}
            ############################# Weeks Filter ######################


            ###################### Months filter ###########################
            currentMonth = datetime.now().month #take this months
            pastMonth = currentMonth - 1
            ###################### end of Months filter ###########################

            ###################### Year filter ###########################
            currentYear = datetime.now().year
            lastYear = currentYear - 1
            ###################### end of Year filter ###########################

            #if case
            return {'tank': self.get_queryset()}
except:
    logger.error('PH page Functions failed/errors')


try:
    class EC(ListView):
        model = tank_system
        template_name = 'FrounterWeb/extends/EC.html'
        ordering = ['-datetime']  # sort dates in descending order

        def get_context_data(self, **kwargs):
            return {'tank': self.get_queryset()}
except:
    logger.error('EC page Functions failed/errors')

Сводка вопросов:

  1. Нужно отправить, чтобы получить запрос к концу
  2. Запрос дошел до конца и увидит, какие данные должны быть отправлены
  3. вернет выбранные / отфильтрованные данные (неделя, день и т. Д.)

Вот картинка для лучшего понимания:

understanding use

Извините, что прошу что-то такое простое, и спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...