Skip to content
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,9 @@ EMAIL_PORT=587
EMAIL_USE_TLS=True
[email protected]
EMAIL_HOST_PASSWORD=secret123
EMAIL_TIMEOUT=10
EMAIL_TIMEOUT=10

TELEGRAM_API_ID=12345678
TELEGRAM_SESSION=session
TELEGRAM_API_HASH=5123456789012345678901235
DEBUG=True
Empty file.
1 change: 1 addition & 0 deletions app/services/profession/admin.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

6 changes: 6 additions & 0 deletions app/services/profession/apps.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
from django.apps import AppConfig


class ProfessionConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'profession'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

name app отличается от переданного в settings.py

Empty file.
12 changes: 12 additions & 0 deletions app/services/profession/models.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
from django.db import models


class Profession(models.Model):
name = models.CharField(max_length=255)
slug = models.SlugField(unique=True)
is_active = models.BooleanField(default=True)

def __str__(self):
return self.name


3 changes: 3 additions & 0 deletions app/services/profession/tests.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# from django.test import TestCase

# Create your tests here.
7 changes: 7 additions & 0 deletions app/services/profession/urls.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
from django.urls import path

from .views import ProfessionView

urlpatterns = [
path("<slug:profession_slug>/", ProfessionView, name='profession_page')
]
37 changes: 37 additions & 0 deletions app/services/profession/views.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
from django.core.paginator import Paginator
from django.views import View
from inertia import render

from .models import Profession


class ProfessionView(View):

def listing(self, request, *args, **kwargs):
professions = Profession.objects.all()
paginator = Paginator(professions, 25)
page_number = request.GET.get("page")
page_obj = paginator.get_page(page_number)

vacancies = [
{
"id": v.id,
"title": v.title,
"company": v.company,
"url": v.url,
}
for v in page_obj.object_list
]

props = {
"profession": {
"id": professions.id,
"name": professions.name,
"slug": professions.slug
},
"vacancies": {
"data": vacancies,
}
}

return render(request, "ProfessionPage", props)
12 changes: 7 additions & 5 deletions app/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
'app.services.telegram.telegram_parser',
'app.services.telegram.telegram_channels',
'app.services.superjob.superjob_parser',
'app.services.profession',
]

AUTH_USER_MODEL = 'users.User'
Expand Down Expand Up @@ -87,11 +88,12 @@
'ENGINE': 'django.db.backends.{}'.format(
os.getenv('DATABASE_ENGINE', 'sqlite3')
),
'NAME': os.getenv('DATABASE_NAME', 'postgres'),
'USER': os.getenv('DATABASE_USERNAME', 'postgres'),
'PASSWORD': os.getenv('POSTGRES_PASSWORD', 'password'),
'HOST': os.getenv('DATABASE_HOST', '127.0.0.1'),
'PORT': os.getenv('DATABASE_PORT', '5432'),
# 'NAME': os.getenv('DATABASE_NAME', 'postgres'),
# 'USER': os.getenv('DATABASE_USERNAME', 'postgres'),
# 'PASSWORD': os.getenv('POSTGRES_PASSWORD', 'password'),
# 'HOST': os.getenv('DATABASE_HOST', '127.0.0.1'),
# 'PORT': os.getenv('DATABASE_PORT', '5432'),
'DATABASE_URL': os.getenv('DATABASE_URL')
}
}

Expand Down
1 change: 1 addition & 0 deletions app/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
path('superjob/', include('app.services.superjob.superjob_parser.urls')),
path('telegram/', include('app.services.telegram.telegram_channels.urls')),
path('auth/', include('app.services.auth.users.urls')),
path("professions/", include('app.services.profession.urls'))
]

handler500 = views.custom_server_error
Expand Down
Loading