Skip to content

Commit 77484d1

Browse files
author
jcob
committed
update env variable
1 parent 9cbfbeb commit 77484d1

File tree

7 files changed

+108
-10
lines changed

7 files changed

+108
-10
lines changed

server/djangoapp/.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
backend_url =your backend url
1+
backend_url =https://jolaya32-3030.theiadockernext-1-labs-prod-theiak8s-4-tor01.proxy.cognitiveclass.ai
22
sentiment_analyzer_url=your code engine deployment url

server/djangoapp/models.py

Lines changed: 39 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Uncomment the following imports before adding the Model code
22

3-
# from django.db import models
4-
# from django.utils.timezone import now
5-
# from django.core.validators import MaxValueValidator, MinValueValidator
3+
from django.db import models
4+
from django.utils.timezone import now
5+
from django.core.validators import MaxValueValidator, MinValueValidator
66

77

88
# Create your models here.
@@ -23,3 +23,39 @@
2323
# - Year (IntegerField) with min value 2015 and max value 2023
2424
# - Any other fields you would like to include in car model
2525
# - __str__ method to print a car make object
26+
class CarMake(models.Model):
27+
name = models.CharField(max_length=100)
28+
description = models.TextField()
29+
# Other fields as needed
30+
31+
def __str__(self):
32+
return self.name # Return the name as the string representation
33+
34+
35+
class CarModel(models.Model):
36+
car_make = models.ForeignKey(CarMake, on_delete=models.CASCADE) # Many-to-One relationship
37+
name = models.CharField(max_length=100)
38+
CAR_TYPES = [
39+
('SEDAN', 'Sedan'),
40+
('SUV', 'SUV'),
41+
('WAGON', 'Wagon'),
42+
# Add more choices as required
43+
]
44+
type = models.CharField(max_length=10, choices=CAR_TYPES, default='SUV')
45+
year = models.IntegerField(default=2023,
46+
validators=[
47+
MaxValueValidator(2023),
48+
MinValueValidator(2015)
49+
])
50+
# Other fields as needed
51+
52+
def __str__(self):
53+
return self.name # Return the name as the string representation
54+
55+
56+
from django.contrib import admin
57+
from .models import CarMake, CarModel
58+
59+
# Registering models with their respective admins
60+
admin.site.register(CarMake)
61+
admin.site.register(CarModel)

server/djangoapp/populate.py

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,38 @@
1+
from .models import CarMake, CarModel
2+
13
def initiate():
2-
print("Populate not implemented. Add data manually")
4+
car_make_data = [
5+
{"name":"NISSAN", "description":"Great cars. Japanese technology"},
6+
{"name":"Mercedes", "description":"Great cars. German technology"},
7+
{"name":"Audi", "description":"Great cars. German technology"},
8+
{"name":"Kia", "description":"Great cars. Korean technology"},
9+
{"name":"Toyota", "description":"Great cars. Japanese technology"},
10+
]
11+
12+
car_make_instances = []
13+
for data in car_make_data:
14+
car_make_instances.append(CarMake.objects.create(name=data['name'], description=data['description']))
15+
16+
17+
# Create CarModel instances with the corresponding CarMake instances
18+
car_model_data = [
19+
{"name":"Pathfinder", "type":"SUV", "year": 2023, "car_make":car_make_instances[0]},
20+
{"name":"Qashqai", "type":"SUV", "year": 2023, "car_make":car_make_instances[0]},
21+
{"name":"XTRAIL", "type":"SUV", "year": 2023, "car_make":car_make_instances[0]},
22+
{"name":"A-Class", "type":"SUV", "year": 2023, "car_make":car_make_instances[1]},
23+
{"name":"C-Class", "type":"SUV", "year": 2023, "car_make":car_make_instances[1]},
24+
{"name":"E-Class", "type":"SUV", "year": 2023, "car_make":car_make_instances[1]},
25+
{"name":"A4", "type":"SUV", "year": 2023, "car_make":car_make_instances[2]},
26+
{"name":"A5", "type":"SUV", "year": 2023, "car_make":car_make_instances[2]},
27+
{"name":"A6", "type":"SUV", "year": 2023, "car_make":car_make_instances[2]},
28+
{"name":"Sorrento", "type":"SUV", "year": 2023, "car_make":car_make_instances[3]},
29+
{"name":"Carnival", "type":"SUV", "year": 2023, "car_make":car_make_instances[3]},
30+
{"name":"Cerato", "type":"Sedan", "year": 2023, "car_make":car_make_instances[3]},
31+
{"name":"Corolla", "type":"Sedan", "year": 2023, "car_make":car_make_instances[4]},
32+
{"name":"Camry", "type":"Sedan", "year": 2023, "car_make":car_make_instances[4]},
33+
{"name":"Kluger", "type":"SUV", "year": 2023, "car_make":car_make_instances[4]},
34+
# Add more CarModel instances as needed
35+
]
36+
37+
for data in car_model_data:
38+
CarModel.objects.create(name=data['name'], car_make=data['car_make'], type=data['type'], year=data['year'])

server/djangoapp/restapis.py

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Uncomment the imports below before you add the function code
2-
# import requests
2+
import requests
33
import os
44
from dotenv import load_dotenv
55

@@ -11,8 +11,22 @@
1111
'sentiment_analyzer_url',
1212
default="http://localhost:5050/")
1313

14-
# def get_request(endpoint, **kwargs):
15-
# Add code for get requests to back end
14+
def get_request(endpoint, **kwargs):
15+
params = ""
16+
if(kwargs):
17+
for key,value in kwargs.items():
18+
params=params+key+"="+value+"&"
19+
20+
request_url = backend_url+endpoint+"?"+params
21+
22+
print("GET from {} ".format(request_url))
23+
try:
24+
# Call get method of requests library with URL and parameters
25+
response = requests.get(request_url)
26+
return response.json()
27+
except:
28+
# If any error occurs
29+
print("Network exception occurred")
1630

1731
# def analyze_review_sentiments(text):
1832
# request_url = sentiment_analyzer_url+"analyze/"+text

server/djangoapp/urls.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
path(route='login', view=views.login_user, name='login'),
1313
path(route='logout', view=views.logout_request, name='logout'),
1414
path(route='register', view=views.registration, name='register'),
15+
path(route='get_cars', view=views.get_cars, name ='getcars'),
1516

1617
# path for dealer reviews view
1718

server/djangoapp/views.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,23 @@
1515
from django.views.decorators.csrf import csrf_exempt
1616
from .populate import initiate
1717

18+
from .models import CarMake, CarModel
1819

1920
# Get an instance of a logger
2021
logger = logging.getLogger(__name__)
2122

2223

2324
# Create your views here.
25+
def get_cars(request):
26+
count = CarMake.objects.filter().count()
27+
print(count)
28+
if(count == 0):
29+
initiate()
30+
car_models = CarModel.objects.select_related('car_make')
31+
cars = []
32+
for car_model in car_models:
33+
cars.append({"CarModel": car_model.name, "CarMake": car_model.car_make.name})
34+
return JsonResponse({"CarModels":cars})
2435

2536
# Create a `login_request` view to handle sign in request
2637
@csrf_exempt

server/djangoproj/settings.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@
2929
DEBUG = True
3030

3131
ALLOWED_HOSTS = [
32-
'localhost', 'https://jolaya32-8000.theianext-1-labs-prod-misc-tools-us-east-0.proxy.cognitiveclass.ai/'
32+
'localhost', 'https://jolaya32-8000.theiadockernext-1-labs-prod-theiak8s-4-tor01.proxy.cognitiveclass.ai/'
3333
]
3434
CSRF_TRUSTED_ORIGINS = [
35-
'https://jolaya32-8000.theianext-1-labs-prod-misc-tools-us-east-0.proxy.cognitiveclass.ai'
35+
'https://jolaya32-8000.theiadockernext-1-labs-prod-theiak8s-4-tor01.proxy.cognitiveclass.ai'
3636
]
3737

3838
REST_FRAMEWORK = {

0 commit comments

Comments
 (0)