diff --git a/Code/Richard/django/pokedex/manage.py b/Code/Richard/django/pokedex/manage.py
new file mode 100644
index 00000000..a218e1b5
--- /dev/null
+++ b/Code/Richard/django/pokedex/manage.py
@@ -0,0 +1,22 @@
+#!/usr/bin/env python
+"""Django's command-line utility for administrative tasks."""
+import os
+import sys
+
+
+def main():
+ """Run administrative tasks."""
+ os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project_pokedex.settings')
+ try:
+ from django.core.management import execute_from_command_line
+ except ImportError as exc:
+ raise ImportError(
+ "Couldn't import Django. Are you sure it's installed and "
+ "available on your PYTHONPATH environment variable? Did you "
+ "forget to activate a virtual environment?"
+ ) from exc
+ execute_from_command_line(sys.argv)
+
+
+if __name__ == '__main__':
+ main()
diff --git a/Code/Richard/django/pokedex/pokedex_app/__init__.py b/Code/Richard/django/pokedex/pokedex_app/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/Code/Richard/django/pokedex/pokedex_app/admin.py b/Code/Richard/django/pokedex/pokedex_app/admin.py
new file mode 100644
index 00000000..606103f5
--- /dev/null
+++ b/Code/Richard/django/pokedex/pokedex_app/admin.py
@@ -0,0 +1,9 @@
+from django.contrib import admin
+from .models import Pokemon, PokemonType
+class InlineModelAdmin(admin.ModelAdmin):
+ #Pokemon.types(ModelAdmin.filter_horizontal)
+ pass
+
+# Register your models here.
+admin.site.register([Pokemon])
+admin.site.register([PokemonType])
\ No newline at end of file
diff --git a/Code/Richard/django/pokedex/pokedex_app/apps.py b/Code/Richard/django/pokedex/pokedex_app/apps.py
new file mode 100644
index 00000000..14f7ad62
--- /dev/null
+++ b/Code/Richard/django/pokedex/pokedex_app/apps.py
@@ -0,0 +1,6 @@
+from django.apps import AppConfig
+
+
+class PokedexAppConfig(AppConfig):
+ default_auto_field = 'django.db.models.BigAutoField'
+ name = 'pokedex_app'
diff --git a/Code/Richard/django/pokedex/pokedex_app/management/commands/load_pokemon.py b/Code/Richard/django/pokedex/pokedex_app/management/commands/load_pokemon.py
new file mode 100644
index 00000000..1b80d63e
--- /dev/null
+++ b/Code/Richard/django/pokedex/pokedex_app/management/commands/load_pokemon.py
@@ -0,0 +1,91 @@
+from django.core.management.base import BaseCommand
+from django.db import models
+import requests
+
+from pokedex_app.models import Pokemon, PokemonType
+
+
+class Command(BaseCommand):
+ def handle(self, *args, **kwargs):
+ url = 'https://raw.githubusercontent.com/PdxCodeGuild/Class_Raven/master/4%20Django/labs/03%20Pokedex/pokemon.json'
+
+ Pokemon.objects.all().delete()
+ PokemonType.objects.all().delete()
+ response= requests.get(f'https://raw.githubusercontent.com/PdxCodeGuild/Class_Raven/master/4%20Django/labs/03%20Pokedex/pokemon.json')
+ data=response.json()
+ data=data['pokemon']
+ #data.reverse()
+
+ for poke in data:
+ number=poke['number']
+ name = poke['name']
+ height = poke['height']
+ weight = poke['weight']
+ image_front = poke['image_front']
+ image_back = poke['image_back']
+ #types=[type['type']['name'] for type in poke['types']]
+ types=poke['types']
+
+ pokemon, created=Pokemon.objects.get_or_create(
+ number=number,
+ name=name.title(),
+ height=height,
+ weight=weight,
+ image_front=image_front,
+ image_back=image_back,
+ )
+ for type_item in types:
+ type_item=type_item.title()
+ pokemon_type, created=PokemonType.objects.get_or_create(name=type_item)
+ pokemon.types.add(pokemon_type)
+ #print(pokemon, pokemon_type)
+ #print(vars(pokemon))
+
+
+
+ # for type in types: #starting point with Keegan
+ # pokemon, created=PokemonType.objects.get_or_create(name=type)
+ # pokemon.types.add(name)
+
+ #print(pokemon)
+ #print(PokemonType.objects.all)
+
+
+
+
+
+
+
+
+
+
+
+ # response = requests.get(url)
+
+ # pokedex_data = response.json() #dict 'pokemon':[data I want as a list of dictionaries]
+ # pokedex_data = pokedex_data['pokemon']#list of dictionaries
+
+ #print(pokedex_data)
+ # create a database entry for each pokemon
+ # for loop to pull data from each individual pokemon dictionary
+ # for pokemon in pokedex_data:
+ # #print(pokemon)
+ # #print(" ")
+ # number = pokemon['number']
+ # name = pokemon['name']
+ # height = pokemon['height']
+ # weight = pokemon['weight']
+ # image_front = pokemon['image_front']
+ # image_back = pokemon['image_back']
+ # types = pokemon['types']
+ # pokemon = Pokemon.objects.create(
+ # number=number,
+ # name=name,
+ # height=height,
+ # weight=weight,
+ # image_front=image_front,
+ # image_back=image_back,
+ # )
+ #apparetly you need to save before adding manytomany data..I still don't know how to get it right
+ #pokemon.add(types)
+ #print(pokemon)
diff --git a/Code/Richard/django/pokedex/pokedex_app/migrations/0001_initial.py b/Code/Richard/django/pokedex/pokedex_app/migrations/0001_initial.py
new file mode 100644
index 00000000..9681afdb
--- /dev/null
+++ b/Code/Richard/django/pokedex/pokedex_app/migrations/0001_initial.py
@@ -0,0 +1,34 @@
+# Generated by Django 4.0.3 on 2022-03-22 00:50
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ initial = True
+
+ dependencies = [
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='PokemonType',
+ fields=[
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('name', models.CharField(max_length=30)),
+ ],
+ ),
+ migrations.CreateModel(
+ name='Pokemon',
+ fields=[
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('number', models.IntegerField()),
+ ('name', models.CharField(max_length=30)),
+ ('height', models.FloatField()),
+ ('weight', models.FloatField()),
+ ('image_front', models.CharField(max_length=30)),
+ ('image_back', models.CharField(max_length=30)),
+ ('types', models.ManyToManyField(to='pokedex_app.pokemontype')),
+ ],
+ ),
+ ]
diff --git a/Code/Richard/django/pokedex/pokedex_app/migrations/0002_alter_pokemon_id.py b/Code/Richard/django/pokedex/pokedex_app/migrations/0002_alter_pokemon_id.py
new file mode 100644
index 00000000..f81d28bc
--- /dev/null
+++ b/Code/Richard/django/pokedex/pokedex_app/migrations/0002_alter_pokemon_id.py
@@ -0,0 +1,18 @@
+# Generated by Django 4.0.3 on 2022-04-01 00:47
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('pokedex_app', '0001_initial'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='pokemon',
+ name='id',
+ field=models.AutoField(primary_key=True, serialize=False),
+ ),
+ ]
diff --git a/Code/Richard/django/pokedex/pokedex_app/migrations/0003_alter_pokemontype_id.py b/Code/Richard/django/pokedex/pokedex_app/migrations/0003_alter_pokemontype_id.py
new file mode 100644
index 00000000..32ca3329
--- /dev/null
+++ b/Code/Richard/django/pokedex/pokedex_app/migrations/0003_alter_pokemontype_id.py
@@ -0,0 +1,18 @@
+# Generated by Django 4.0.3 on 2022-04-01 00:48
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('pokedex_app', '0002_alter_pokemon_id'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='pokemontype',
+ name='id',
+ field=models.AutoField(primary_key=True, serialize=False),
+ ),
+ ]
diff --git a/Code/Richard/django/pokedex/pokedex_app/migrations/0004_alter_pokemon_id_alter_pokemontype_id.py b/Code/Richard/django/pokedex/pokedex_app/migrations/0004_alter_pokemon_id_alter_pokemontype_id.py
new file mode 100644
index 00000000..fced17dc
--- /dev/null
+++ b/Code/Richard/django/pokedex/pokedex_app/migrations/0004_alter_pokemon_id_alter_pokemontype_id.py
@@ -0,0 +1,23 @@
+# Generated by Django 4.0.3 on 2022-04-01 01:00
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('pokedex_app', '0003_alter_pokemontype_id'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='pokemon',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='pokemontype',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ ]
diff --git a/Code/Richard/django/pokedex/pokedex_app/migrations/__init__.py b/Code/Richard/django/pokedex/pokedex_app/migrations/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/Code/Richard/django/pokedex/pokedex_app/models.py b/Code/Richard/django/pokedex/pokedex_app/models.py
new file mode 100644
index 00000000..c72575a8
--- /dev/null
+++ b/Code/Richard/django/pokedex/pokedex_app/models.py
@@ -0,0 +1,20 @@
+from django.db import models
+
+# Create your models here.
+class PokemonType(models.Model):
+ name=models.CharField(max_length=30)
+
+ def __str__(self):
+ return f"{self.name}"
+
+class Pokemon(models.Model):
+ number=models.IntegerField()
+ name=models.CharField(max_length=30)
+ height=models.FloatField()
+ weight=models.FloatField()
+ image_front=models.CharField(max_length=30)
+ image_back=models.CharField(max_length=30)
+ types=models.ManyToManyField('PokemonType')
+
+ def __str__(self):
+ return f"{self.name}"
\ No newline at end of file
diff --git a/Code/Richard/django/pokedex/pokedex_app/templates/home.html b/Code/Richard/django/pokedex/pokedex_app/templates/home.html
new file mode 100644
index 00000000..f98bd101
--- /dev/null
+++ b/Code/Richard/django/pokedex/pokedex_app/templates/home.html
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Pokedex Home
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Code/Richard/django/pokedex/pokedex_app/tests.py b/Code/Richard/django/pokedex/pokedex_app/tests.py
new file mode 100644
index 00000000..7ce503c2
--- /dev/null
+++ b/Code/Richard/django/pokedex/pokedex_app/tests.py
@@ -0,0 +1,3 @@
+from django.test import TestCase
+
+# Create your tests here.
diff --git a/Code/Richard/django/pokedex/pokedex_app/views.py b/Code/Richard/django/pokedex/pokedex_app/views.py
new file mode 100644
index 00000000..91ea44a2
--- /dev/null
+++ b/Code/Richard/django/pokedex/pokedex_app/views.py
@@ -0,0 +1,3 @@
+from django.shortcuts import render
+
+# Create your views here.
diff --git a/Code/Richard/django/pokedex/pokedx.json b/Code/Richard/django/pokedex/pokedx.json
new file mode 100644
index 00000000..b13d7406
--- /dev/null
+++ b/Code/Richard/django/pokedex/pokedx.json
@@ -0,0 +1,1885 @@
+
+{
+ "pokemon": [
+ {
+ "number": 1,
+ "name": "bulbasaur",
+ "height": 7,
+ "weight": 69,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/1.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/1.png",
+ "types": [
+ "poison",
+ "grass"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/bulbasaur"
+ },
+ {
+ "number": 2,
+ "name": "ivysaur",
+ "height": 10,
+ "weight": 130,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/2.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/2.png",
+ "types": [
+ "poison",
+ "grass"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/ivysaur"
+ },
+ {
+ "number": 3,
+ "name": "venusaur",
+ "height": 20,
+ "weight": 1000,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/3.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/3.png",
+ "types": [
+ "poison",
+ "grass"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/venusaur"
+ },
+ {
+ "number": 4,
+ "name": "charmander",
+ "height": 6,
+ "weight": 85,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/4.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/4.png",
+ "types": [
+ "fire"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/charmander"
+ },
+ {
+ "number": 5,
+ "name": "charmeleon",
+ "height": 11,
+ "weight": 190,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/5.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/5.png",
+ "types": [
+ "fire"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/charmeleon"
+ },
+ {
+ "number": 6,
+ "name": "charizard",
+ "height": 17,
+ "weight": 905,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/6.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/6.png",
+ "types": [
+ "flying",
+ "fire"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/charizard"
+ },
+ {
+ "number": 7,
+ "name": "squirtle",
+ "height": 5,
+ "weight": 90,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/7.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/7.png",
+ "types": [
+ "water"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/squirtle"
+ },
+ {
+ "number": 8,
+ "name": "wartortle",
+ "height": 10,
+ "weight": 225,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/8.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/8.png",
+ "types": [
+ "water"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/wartortle"
+ },
+ {
+ "number": 9,
+ "name": "blastoise",
+ "height": 16,
+ "weight": 855,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/9.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/9.png",
+ "types": [
+ "water"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/blastoise"
+ },
+ {
+ "number": 10,
+ "name": "caterpie",
+ "height": 3,
+ "weight": 29,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/10.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/10.png",
+ "types": [
+ "bug"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/caterpie"
+ },
+ {
+ "number": 11,
+ "name": "metapod",
+ "height": 7,
+ "weight": 99,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/11.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/11.png",
+ "types": [
+ "bug"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/metapod"
+ },
+ {
+ "number": 12,
+ "name": "butterfree",
+ "height": 11,
+ "weight": 320,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/12.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/12.png",
+ "types": [
+ "flying",
+ "bug"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/butterfree"
+ },
+ {
+ "number": 13,
+ "name": "weedle",
+ "height": 3,
+ "weight": 32,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/13.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/13.png",
+ "types": [
+ "poison",
+ "bug"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/weedle"
+ },
+ {
+ "number": 14,
+ "name": "kakuna",
+ "height": 6,
+ "weight": 100,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/14.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/14.png",
+ "types": [
+ "poison",
+ "bug"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/kakuna"
+ },
+ {
+ "number": 15,
+ "name": "beedrill",
+ "height": 10,
+ "weight": 295,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/15.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/15.png",
+ "types": [
+ "poison",
+ "bug"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/beedrill"
+ },
+ {
+ "number": 16,
+ "name": "pidgey",
+ "height": 3,
+ "weight": 18,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/16.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/16.png",
+ "types": [
+ "flying",
+ "normal"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/pidgey"
+ },
+ {
+ "number": 17,
+ "name": "pidgeotto",
+ "height": 11,
+ "weight": 300,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/17.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/17.png",
+ "types": [
+ "flying",
+ "normal"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/pidgeotto"
+ },
+ {
+ "number": 18,
+ "name": "pidgeot",
+ "height": 15,
+ "weight": 395,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/18.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/18.png",
+ "types": [
+ "flying",
+ "normal"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/pidgeot"
+ },
+ {
+ "number": 19,
+ "name": "rattata",
+ "height": 3,
+ "weight": 35,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/19.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/19.png",
+ "types": [
+ "normal"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/rattata"
+ },
+ {
+ "number": 20,
+ "name": "raticate",
+ "height": 7,
+ "weight": 185,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/20.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/20.png",
+ "types": [
+ "normal"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/raticate"
+ },
+ {
+ "number": 21,
+ "name": "spearow",
+ "height": 3,
+ "weight": 20,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/21.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/21.png",
+ "types": [
+ "flying",
+ "normal"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/spearow"
+ },
+ {
+ "number": 22,
+ "name": "fearow",
+ "height": 12,
+ "weight": 380,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/22.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/22.png",
+ "types": [
+ "flying",
+ "normal"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/fearow"
+ },
+ {
+ "number": 23,
+ "name": "ekans",
+ "height": 20,
+ "weight": 69,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/23.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/23.png",
+ "types": [
+ "poison"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/ekans"
+ },
+ {
+ "number": 24,
+ "name": "arbok",
+ "height": 35,
+ "weight": 650,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/24.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/24.png",
+ "types": [
+ "poison"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/arbok"
+ },
+ {
+ "number": 25,
+ "name": "pikachu",
+ "height": 4,
+ "weight": 60,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/25.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/25.png",
+ "types": [
+ "electric"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/pikachu"
+ },
+ {
+ "number": 26,
+ "name": "raichu",
+ "height": 8,
+ "weight": 300,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/26.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/26.png",
+ "types": [
+ "electric"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/raichu"
+ },
+ {
+ "number": 27,
+ "name": "sandshrew",
+ "height": 6,
+ "weight": 120,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/27.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/27.png",
+ "types": [
+ "ground"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/sandshrew"
+ },
+ {
+ "number": 28,
+ "name": "sandslash",
+ "height": 10,
+ "weight": 295,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/28.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/28.png",
+ "types": [
+ "ground"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/sandslash"
+ },
+ {
+ "number": 29,
+ "name": "nidoran-f",
+ "height": 4,
+ "weight": 70,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/29.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/29.png",
+ "types": [
+ "poison"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/nidoran-f"
+ },
+ {
+ "number": 30,
+ "name": "nidorina",
+ "height": 8,
+ "weight": 200,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/30.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/30.png",
+ "types": [
+ "poison"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/nidorina"
+ },
+ {
+ "number": 31,
+ "name": "nidoqueen",
+ "height": 13,
+ "weight": 600,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/31.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/31.png",
+ "types": [
+ "ground",
+ "poison"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/nidoqueen"
+ },
+ {
+ "number": 32,
+ "name": "nidoran-m",
+ "height": 5,
+ "weight": 90,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/32.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/32.png",
+ "types": [
+ "poison"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/nidoran-m"
+ },
+ {
+ "number": 33,
+ "name": "nidorino",
+ "height": 9,
+ "weight": 195,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/33.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/33.png",
+ "types": [
+ "poison"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/nidorino"
+ },
+ {
+ "number": 34,
+ "name": "nidoking",
+ "height": 14,
+ "weight": 620,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/34.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/34.png",
+ "types": [
+ "ground",
+ "poison"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/nidoking"
+ },
+ {
+ "number": 35,
+ "name": "clefairy",
+ "height": 6,
+ "weight": 75,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/35.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/35.png",
+ "types": [
+ "fairy"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/clefairy"
+ },
+ {
+ "number": 36,
+ "name": "clefable",
+ "height": 13,
+ "weight": 400,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/36.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/36.png",
+ "types": [
+ "fairy"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/clefable"
+ },
+ {
+ "number": 37,
+ "name": "vulpix",
+ "height": 6,
+ "weight": 99,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/37.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/37.png",
+ "types": [
+ "fire"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/vulpix"
+ },
+ {
+ "number": 38,
+ "name": "ninetales",
+ "height": 11,
+ "weight": 199,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/38.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/38.png",
+ "types": [
+ "fire"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/ninetales"
+ },
+ {
+ "number": 39,
+ "name": "jigglypuff",
+ "height": 5,
+ "weight": 55,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/39.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/39.png",
+ "types": [
+ "fairy",
+ "normal"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/jigglypuff"
+ },
+ {
+ "number": 40,
+ "name": "wigglytuff",
+ "height": 10,
+ "weight": 120,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/40.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/40.png",
+ "types": [
+ "fairy",
+ "normal"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/wigglytuff"
+ },
+ {
+ "number": 41,
+ "name": "zubat",
+ "height": 8,
+ "weight": 75,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/41.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/41.png",
+ "types": [
+ "flying",
+ "poison"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/zubat"
+ },
+ {
+ "number": 42,
+ "name": "golbat",
+ "height": 16,
+ "weight": 550,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/42.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/42.png",
+ "types": [
+ "flying",
+ "poison"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/golbat"
+ },
+ {
+ "number": 43,
+ "name": "oddish",
+ "height": 5,
+ "weight": 54,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/43.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/43.png",
+ "types": [
+ "poison",
+ "grass"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/oddish"
+ },
+ {
+ "number": 44,
+ "name": "gloom",
+ "height": 8,
+ "weight": 86,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/44.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/44.png",
+ "types": [
+ "poison",
+ "grass"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/gloom"
+ },
+ {
+ "number": 45,
+ "name": "vileplume",
+ "height": 12,
+ "weight": 186,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/45.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/45.png",
+ "types": [
+ "poison",
+ "grass"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/vileplume"
+ },
+ {
+ "number": 46,
+ "name": "paras",
+ "height": 3,
+ "weight": 54,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/46.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/46.png",
+ "types": [
+ "grass",
+ "bug"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/paras"
+ },
+ {
+ "number": 47,
+ "name": "parasect",
+ "height": 10,
+ "weight": 295,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/47.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/47.png",
+ "types": [
+ "grass",
+ "bug"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/parasect"
+ },
+ {
+ "number": 48,
+ "name": "venonat",
+ "height": 10,
+ "weight": 300,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/48.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/48.png",
+ "types": [
+ "poison",
+ "bug"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/venonat"
+ },
+ {
+ "number": 49,
+ "name": "venomoth",
+ "height": 15,
+ "weight": 125,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/49.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/49.png",
+ "types": [
+ "poison",
+ "bug"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/venomoth"
+ },
+ {
+ "number": 50,
+ "name": "diglett",
+ "height": 2,
+ "weight": 8,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/50.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/50.png",
+ "types": [
+ "ground"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/diglett"
+ },
+ {
+ "number": 51,
+ "name": "dugtrio",
+ "height": 7,
+ "weight": 333,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/51.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/51.png",
+ "types": [
+ "ground"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/dugtrio"
+ },
+ {
+ "number": 52,
+ "name": "meowth",
+ "height": 4,
+ "weight": 42,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/52.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/52.png",
+ "types": [
+ "normal"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/meowth"
+ },
+ {
+ "number": 53,
+ "name": "persian",
+ "height": 10,
+ "weight": 320,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/53.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/53.png",
+ "types": [
+ "normal"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/persian"
+ },
+ {
+ "number": 54,
+ "name": "psyduck",
+ "height": 8,
+ "weight": 196,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/54.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/54.png",
+ "types": [
+ "water"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/psyduck"
+ },
+ {
+ "number": 55,
+ "name": "golduck",
+ "height": 17,
+ "weight": 766,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/55.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/55.png",
+ "types": [
+ "water"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/golduck"
+ },
+ {
+ "number": 56,
+ "name": "mankey",
+ "height": 5,
+ "weight": 280,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/56.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/56.png",
+ "types": [
+ "fighting"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/mankey"
+ },
+ {
+ "number": 57,
+ "name": "primeape",
+ "height": 10,
+ "weight": 320,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/57.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/57.png",
+ "types": [
+ "fighting"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/primeape"
+ },
+ {
+ "number": 58,
+ "name": "growlithe",
+ "height": 7,
+ "weight": 190,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/58.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/58.png",
+ "types": [
+ "fire"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/growlithe"
+ },
+ {
+ "number": 59,
+ "name": "arcanine",
+ "height": 19,
+ "weight": 1550,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/59.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/59.png",
+ "types": [
+ "fire"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/arcanine"
+ },
+ {
+ "number": 60,
+ "name": "poliwag",
+ "height": 6,
+ "weight": 124,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/60.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/60.png",
+ "types": [
+ "water"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/poliwag"
+ },
+ {
+ "number": 61,
+ "name": "poliwhirl",
+ "height": 10,
+ "weight": 200,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/61.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/61.png",
+ "types": [
+ "water"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/poliwhirl"
+ },
+ {
+ "number": 62,
+ "name": "poliwrath",
+ "height": 13,
+ "weight": 540,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/62.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/62.png",
+ "types": [
+ "fighting",
+ "water"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/poliwrath"
+ },
+ {
+ "number": 63,
+ "name": "abra",
+ "height": 9,
+ "weight": 195,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/63.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/63.png",
+ "types": [
+ "psychic"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/abra"
+ },
+ {
+ "number": 64,
+ "name": "kadabra",
+ "height": 13,
+ "weight": 565,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/64.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/64.png",
+ "types": [
+ "psychic"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/kadabra"
+ },
+ {
+ "number": 65,
+ "name": "alakazam",
+ "height": 15,
+ "weight": 480,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/65.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/65.png",
+ "types": [
+ "psychic"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/alakazam"
+ },
+ {
+ "number": 66,
+ "name": "machop",
+ "height": 8,
+ "weight": 195,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/66.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/66.png",
+ "types": [
+ "fighting"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/machop"
+ },
+ {
+ "number": 67,
+ "name": "machoke",
+ "height": 15,
+ "weight": 705,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/67.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/67.png",
+ "types": [
+ "fighting"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/machoke"
+ },
+ {
+ "number": 68,
+ "name": "machamp",
+ "height": 16,
+ "weight": 1300,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/68.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/68.png",
+ "types": [
+ "fighting"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/machamp"
+ },
+ {
+ "number": 69,
+ "name": "bellsprout",
+ "height": 7,
+ "weight": 40,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/69.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/69.png",
+ "types": [
+ "poison",
+ "grass"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/bellsprout"
+ },
+ {
+ "number": 70,
+ "name": "weepinbell",
+ "height": 10,
+ "weight": 64,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/70.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/70.png",
+ "types": [
+ "poison",
+ "grass"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/weepinbell"
+ },
+ {
+ "number": 71,
+ "name": "victreebel",
+ "height": 17,
+ "weight": 155,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/71.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/71.png",
+ "types": [
+ "poison",
+ "grass"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/victreebel"
+ },
+ {
+ "number": 72,
+ "name": "tentacool",
+ "height": 9,
+ "weight": 455,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/72.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/72.png",
+ "types": [
+ "poison",
+ "water"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/tentacool"
+ },
+ {
+ "number": 73,
+ "name": "tentacruel",
+ "height": 16,
+ "weight": 550,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/73.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/73.png",
+ "types": [
+ "poison",
+ "water"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/tentacruel"
+ },
+ {
+ "number": 74,
+ "name": "geodude",
+ "height": 4,
+ "weight": 200,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/74.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/74.png",
+ "types": [
+ "ground",
+ "rock"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/geodude"
+ },
+ {
+ "number": 75,
+ "name": "graveler",
+ "height": 10,
+ "weight": 1050,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/75.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/75.png",
+ "types": [
+ "ground",
+ "rock"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/graveler"
+ },
+ {
+ "number": 76,
+ "name": "golem",
+ "height": 14,
+ "weight": 3000,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/76.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/76.png",
+ "types": [
+ "ground",
+ "rock"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/golem"
+ },
+ {
+ "number": 77,
+ "name": "ponyta",
+ "height": 10,
+ "weight": 300,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/77.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/77.png",
+ "types": [
+ "fire"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/ponyta"
+ },
+ {
+ "number": 78,
+ "name": "rapidash",
+ "height": 17,
+ "weight": 950,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/78.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/78.png",
+ "types": [
+ "fire"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/rapidash"
+ },
+ {
+ "number": 79,
+ "name": "slowpoke",
+ "height": 12,
+ "weight": 360,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/79.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/79.png",
+ "types": [
+ "psychic",
+ "water"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/slowpoke"
+ },
+ {
+ "number": 80,
+ "name": "slowbro",
+ "height": 16,
+ "weight": 785,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/80.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/80.png",
+ "types": [
+ "psychic",
+ "water"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/slowbro"
+ },
+ {
+ "number": 81,
+ "name": "magnemite",
+ "height": 3,
+ "weight": 60,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/81.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/81.png",
+ "types": [
+ "steel",
+ "electric"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/magnemite"
+ },
+ {
+ "number": 82,
+ "name": "magneton",
+ "height": 10,
+ "weight": 600,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/82.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/82.png",
+ "types": [
+ "steel",
+ "electric"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/magneton"
+ },
+ {
+ "number": 83,
+ "name": "farfetchd",
+ "height": 8,
+ "weight": 150,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/83.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/83.png",
+ "types": [
+ "flying",
+ "normal"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/farfetchd"
+ },
+ {
+ "number": 84,
+ "name": "doduo",
+ "height": 14,
+ "weight": 392,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/84.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/84.png",
+ "types": [
+ "flying",
+ "normal"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/doduo"
+ },
+ {
+ "number": 85,
+ "name": "dodrio",
+ "height": 18,
+ "weight": 852,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/85.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/85.png",
+ "types": [
+ "flying",
+ "normal"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/dodrio"
+ },
+ {
+ "number": 86,
+ "name": "seel",
+ "height": 11,
+ "weight": 900,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/86.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/86.png",
+ "types": [
+ "water"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/seel"
+ },
+ {
+ "number": 87,
+ "name": "dewgong",
+ "height": 17,
+ "weight": 1200,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/87.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/87.png",
+ "types": [
+ "ice",
+ "water"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/dewgong"
+ },
+ {
+ "number": 88,
+ "name": "grimer",
+ "height": 9,
+ "weight": 300,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/88.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/88.png",
+ "types": [
+ "poison"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/grimer"
+ },
+ {
+ "number": 89,
+ "name": "muk",
+ "height": 12,
+ "weight": 300,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/89.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/89.png",
+ "types": [
+ "poison"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/muk"
+ },
+ {
+ "number": 90,
+ "name": "shellder",
+ "height": 3,
+ "weight": 40,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/90.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/90.png",
+ "types": [
+ "water"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/shellder"
+ },
+ {
+ "number": 91,
+ "name": "cloyster",
+ "height": 15,
+ "weight": 1325,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/91.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/91.png",
+ "types": [
+ "ice",
+ "water"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/cloyster"
+ },
+ {
+ "number": 92,
+ "name": "gastly",
+ "height": 13,
+ "weight": 1,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/92.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/92.png",
+ "types": [
+ "poison",
+ "ghost"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/gastly"
+ },
+ {
+ "number": 93,
+ "name": "haunter",
+ "height": 16,
+ "weight": 1,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/93.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/93.png",
+ "types": [
+ "poison",
+ "ghost"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/haunter"
+ },
+ {
+ "number": 94,
+ "name": "gengar",
+ "height": 15,
+ "weight": 405,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/94.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/94.png",
+ "types": [
+ "poison",
+ "ghost"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/gengar"
+ },
+ {
+ "number": 95,
+ "name": "onix",
+ "height": 88,
+ "weight": 2100,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/95.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/95.png",
+ "types": [
+ "ground",
+ "rock"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/onix"
+ },
+ {
+ "number": 96,
+ "name": "drowzee",
+ "height": 10,
+ "weight": 324,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/96.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/96.png",
+ "types": [
+ "psychic"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/drowzee"
+ },
+ {
+ "number": 97,
+ "name": "hypno",
+ "height": 16,
+ "weight": 756,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/97.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/97.png",
+ "types": [
+ "psychic"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/hypno"
+ },
+ {
+ "number": 98,
+ "name": "krabby",
+ "height": 4,
+ "weight": 65,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/98.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/98.png",
+ "types": [
+ "water"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/krabby"
+ },
+ {
+ "number": 99,
+ "name": "kingler",
+ "height": 13,
+ "weight": 600,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/99.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/99.png",
+ "types": [
+ "water"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/kingler"
+ },
+ {
+ "number": 100,
+ "name": "voltorb",
+ "height": 5,
+ "weight": 104,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/100.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/100.png",
+ "types": [
+ "electric"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/voltorb"
+ },
+ {
+ "number": 101,
+ "name": "electrode",
+ "height": 12,
+ "weight": 666,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/101.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/101.png",
+ "types": [
+ "electric"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/electrode"
+ },
+ {
+ "number": 102,
+ "name": "exeggcute",
+ "height": 4,
+ "weight": 25,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/102.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/102.png",
+ "types": [
+ "psychic",
+ "grass"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/exeggcute"
+ },
+ {
+ "number": 103,
+ "name": "exeggutor",
+ "height": 20,
+ "weight": 1200,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/103.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/103.png",
+ "types": [
+ "psychic",
+ "grass"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/exeggutor"
+ },
+ {
+ "number": 104,
+ "name": "cubone",
+ "height": 4,
+ "weight": 65,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/104.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/104.png",
+ "types": [
+ "ground"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/cubone"
+ },
+ {
+ "number": 105,
+ "name": "marowak",
+ "height": 10,
+ "weight": 450,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/105.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/105.png",
+ "types": [
+ "ground"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/marowak"
+ },
+ {
+ "number": 106,
+ "name": "hitmonlee",
+ "height": 15,
+ "weight": 498,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/106.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/106.png",
+ "types": [
+ "fighting"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/hitmonlee"
+ },
+ {
+ "number": 107,
+ "name": "hitmonchan",
+ "height": 14,
+ "weight": 502,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/107.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/107.png",
+ "types": [
+ "fighting"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/hitmonchan"
+ },
+ {
+ "number": 108,
+ "name": "lickitung",
+ "height": 12,
+ "weight": 655,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/108.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/108.png",
+ "types": [
+ "normal"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/lickitung"
+ },
+ {
+ "number": 109,
+ "name": "koffing",
+ "height": 6,
+ "weight": 10,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/109.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/109.png",
+ "types": [
+ "poison"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/koffing"
+ },
+ {
+ "number": 110,
+ "name": "weezing",
+ "height": 12,
+ "weight": 95,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/110.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/110.png",
+ "types": [
+ "poison"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/weezing"
+ },
+ {
+ "number": 111,
+ "name": "rhyhorn",
+ "height": 10,
+ "weight": 1150,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/111.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/111.png",
+ "types": [
+ "rock",
+ "ground"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/rhyhorn"
+ },
+ {
+ "number": 112,
+ "name": "rhydon",
+ "height": 19,
+ "weight": 1200,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/112.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/112.png",
+ "types": [
+ "rock",
+ "ground"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/rhydon"
+ },
+ {
+ "number": 113,
+ "name": "chansey",
+ "height": 11,
+ "weight": 346,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/113.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/113.png",
+ "types": [
+ "normal"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/chansey"
+ },
+ {
+ "number": 114,
+ "name": "tangela",
+ "height": 10,
+ "weight": 350,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/114.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/114.png",
+ "types": [
+ "grass"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/tangela"
+ },
+ {
+ "number": 115,
+ "name": "kangaskhan",
+ "height": 22,
+ "weight": 800,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/115.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/115.png",
+ "types": [
+ "normal"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/kangaskhan"
+ },
+ {
+ "number": 116,
+ "name": "horsea",
+ "height": 4,
+ "weight": 80,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/116.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/116.png",
+ "types": [
+ "water"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/horsea"
+ },
+ {
+ "number": 117,
+ "name": "seadra",
+ "height": 12,
+ "weight": 250,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/117.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/117.png",
+ "types": [
+ "water"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/seadra"
+ },
+ {
+ "number": 118,
+ "name": "goldeen",
+ "height": 6,
+ "weight": 150,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/118.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/118.png",
+ "types": [
+ "water"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/goldeen"
+ },
+ {
+ "number": 119,
+ "name": "seaking",
+ "height": 13,
+ "weight": 390,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/119.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/119.png",
+ "types": [
+ "water"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/seaking"
+ },
+ {
+ "number": 120,
+ "name": "staryu",
+ "height": 8,
+ "weight": 345,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/120.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/120.png",
+ "types": [
+ "water"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/staryu"
+ },
+ {
+ "number": 121,
+ "name": "starmie",
+ "height": 11,
+ "weight": 800,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/121.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/121.png",
+ "types": [
+ "psychic",
+ "water"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/starmie"
+ },
+ {
+ "number": 122,
+ "name": "mr-mime",
+ "height": 13,
+ "weight": 545,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/122.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/122.png",
+ "types": [
+ "fairy",
+ "psychic"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/mr-mime"
+ },
+ {
+ "number": 123,
+ "name": "scyther",
+ "height": 15,
+ "weight": 560,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/123.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/123.png",
+ "types": [
+ "flying",
+ "bug"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/scyther"
+ },
+ {
+ "number": 124,
+ "name": "jynx",
+ "height": 14,
+ "weight": 406,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/124.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/124.png",
+ "types": [
+ "psychic",
+ "ice"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/jynx"
+ },
+ {
+ "number": 125,
+ "name": "electabuzz",
+ "height": 11,
+ "weight": 300,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/125.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/125.png",
+ "types": [
+ "electric"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/electabuzz"
+ },
+ {
+ "number": 126,
+ "name": "magmar",
+ "height": 13,
+ "weight": 445,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/126.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/126.png",
+ "types": [
+ "fire"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/magmar"
+ },
+ {
+ "number": 127,
+ "name": "pinsir",
+ "height": 15,
+ "weight": 550,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/127.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/127.png",
+ "types": [
+ "bug"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/pinsir"
+ },
+ {
+ "number": 128,
+ "name": "tauros",
+ "height": 14,
+ "weight": 884,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/128.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/128.png",
+ "types": [
+ "normal"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/tauros"
+ },
+ {
+ "number": 129,
+ "name": "magikarp",
+ "height": 9,
+ "weight": 100,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/129.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/129.png",
+ "types": [
+ "water"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/magikarp"
+ },
+ {
+ "number": 130,
+ "name": "gyarados",
+ "height": 65,
+ "weight": 2350,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/130.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/130.png",
+ "types": [
+ "flying",
+ "water"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/gyarados"
+ },
+ {
+ "number": 131,
+ "name": "lapras",
+ "height": 25,
+ "weight": 2200,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/131.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/131.png",
+ "types": [
+ "ice",
+ "water"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/lapras"
+ },
+ {
+ "number": 132,
+ "name": "ditto",
+ "height": 3,
+ "weight": 40,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/132.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/132.png",
+ "types": [
+ "normal"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/ditto"
+ },
+ {
+ "number": 133,
+ "name": "eevee",
+ "height": 3,
+ "weight": 65,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/133.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/133.png",
+ "types": [
+ "normal"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/eevee"
+ },
+ {
+ "number": 134,
+ "name": "vaporeon",
+ "height": 10,
+ "weight": 290,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/134.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/134.png",
+ "types": [
+ "water"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/vaporeon"
+ },
+ {
+ "number": 135,
+ "name": "jolteon",
+ "height": 8,
+ "weight": 245,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/135.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/135.png",
+ "types": [
+ "electric"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/jolteon"
+ },
+ {
+ "number": 136,
+ "name": "flareon",
+ "height": 9,
+ "weight": 250,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/136.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/136.png",
+ "types": [
+ "fire"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/flareon"
+ },
+ {
+ "number": 137,
+ "name": "porygon",
+ "height": 8,
+ "weight": 365,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/137.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/137.png",
+ "types": [
+ "normal"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/porygon"
+ },
+ {
+ "number": 138,
+ "name": "omanyte",
+ "height": 4,
+ "weight": 75,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/138.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/138.png",
+ "types": [
+ "water",
+ "rock"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/omanyte"
+ },
+ {
+ "number": 139,
+ "name": "omastar",
+ "height": 10,
+ "weight": 350,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/139.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/139.png",
+ "types": [
+ "water",
+ "rock"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/omastar"
+ },
+ {
+ "number": 140,
+ "name": "kabuto",
+ "height": 5,
+ "weight": 115,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/140.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/140.png",
+ "types": [
+ "water",
+ "rock"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/kabuto"
+ },
+ {
+ "number": 141,
+ "name": "kabutops",
+ "height": 13,
+ "weight": 405,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/141.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/141.png",
+ "types": [
+ "water",
+ "rock"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/kabutops"
+ },
+ {
+ "number": 142,
+ "name": "aerodactyl",
+ "height": 18,
+ "weight": 590,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/142.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/142.png",
+ "types": [
+ "flying",
+ "rock"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/aerodactyl"
+ },
+ {
+ "number": 143,
+ "name": "snorlax",
+ "height": 21,
+ "weight": 4600,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/143.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/143.png",
+ "types": [
+ "normal"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/snorlax"
+ },
+ {
+ "number": 144,
+ "name": "articuno",
+ "height": 17,
+ "weight": 554,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/144.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/144.png",
+ "types": [
+ "flying",
+ "ice"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/articuno"
+ },
+ {
+ "number": 145,
+ "name": "zapdos",
+ "height": 16,
+ "weight": 526,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/145.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/145.png",
+ "types": [
+ "flying",
+ "electric"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/zapdos"
+ },
+ {
+ "number": 146,
+ "name": "moltres",
+ "height": 20,
+ "weight": 600,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/146.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/146.png",
+ "types": [
+ "flying",
+ "fire"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/moltres"
+ },
+ {
+ "number": 147,
+ "name": "dratini",
+ "height": 18,
+ "weight": 33,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/147.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/147.png",
+ "types": [
+ "dragon"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/dratini"
+ },
+ {
+ "number": 148,
+ "name": "dragonair",
+ "height": 40,
+ "weight": 165,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/148.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/148.png",
+ "types": [
+ "dragon"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/dragonair"
+ },
+ {
+ "number": 149,
+ "name": "dragonite",
+ "height": 22,
+ "weight": 2100,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/149.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/149.png",
+ "types": [
+ "flying",
+ "dragon"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/dragonite"
+ },
+ {
+ "number": 150,
+ "name": "mewtwo",
+ "height": 20,
+ "weight": 1220,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/150.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/150.png",
+ "types": [
+ "psychic"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/mewtwo"
+ },
+ {
+ "number": 151,
+ "name": "mew",
+ "height": 4,
+ "weight": 40,
+ "image_front": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/151.png",
+ "image_back": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/151.png",
+ "types": [
+ "psychic"
+ ],
+ "url": "https://pokemon.fandom.com/wiki/mew"
+ }
+ ]
+}
+
diff --git a/Code/Richard/django/pokedex/project_pokedex/__init__.py b/Code/Richard/django/pokedex/project_pokedex/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/Code/Richard/django/pokedex/project_pokedex/asgi.py b/Code/Richard/django/pokedex/project_pokedex/asgi.py
new file mode 100644
index 00000000..545a07d4
--- /dev/null
+++ b/Code/Richard/django/pokedex/project_pokedex/asgi.py
@@ -0,0 +1,16 @@
+"""
+ASGI config for project_pokedex project.
+
+It exposes the ASGI callable as a module-level variable named ``application``.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/4.0/howto/deployment/asgi/
+"""
+
+import os
+
+from django.core.asgi import get_asgi_application
+
+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project_pokedex.settings')
+
+application = get_asgi_application()
diff --git a/Code/Richard/django/pokedex/project_pokedex/settings.py b/Code/Richard/django/pokedex/project_pokedex/settings.py
new file mode 100644
index 00000000..19f863f5
--- /dev/null
+++ b/Code/Richard/django/pokedex/project_pokedex/settings.py
@@ -0,0 +1,127 @@
+"""
+Django settings for project_pokedex project.
+
+Generated by 'django-admin startproject' using Django 4.0.3.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/4.0/topics/settings/
+
+For the full list of settings and their values, see
+https://docs.djangoproject.com/en/4.0/ref/settings/
+"""
+
+from pathlib import Path
+
+# Build paths inside the project like this: BASE_DIR / 'subdir'.
+BASE_DIR = Path(__file__).resolve().parent.parent
+
+
+# Quick-start development settings - unsuitable for production
+# See https://docs.djangoproject.com/en/4.0/howto/deployment/checklist/
+
+# SECURITY WARNING: keep the secret key used in production secret!
+SECRET_KEY = 'django-insecure-rp$d6n1&1eaj$%myj*ok8$wpkt7b+q(h$3=i+p&&n6)ggqm80s'
+
+# SECURITY WARNING: don't run with debug turned on in production!
+DEBUG = True
+
+ALLOWED_HOSTS = []
+
+
+# Application definition
+
+INSTALLED_APPS = [
+ 'django.contrib.admin',
+ 'django.contrib.auth',
+ 'django.contrib.contenttypes',
+ 'django.contrib.sessions',
+ 'django.contrib.messages',
+ 'django.contrib.staticfiles',
+ 'users',
+ 'pokedex_app'
+]
+
+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',
+]
+
+ROOT_URLCONF = 'project_pokedex.urls'
+
+TEMPLATES = [
+ {
+ 'BACKEND': 'django.template.backends.django.DjangoTemplates',
+ 'DIRS': [],
+ 'APP_DIRS': True,
+ 'OPTIONS': {
+ 'context_processors': [
+ 'django.template.context_processors.debug',
+ 'django.template.context_processors.request',
+ 'django.contrib.auth.context_processors.auth',
+ 'django.contrib.messages.context_processors.messages',
+ ],
+ },
+ },
+]
+
+WSGI_APPLICATION = 'project_pokedex.wsgi.application'
+
+
+# Database
+# https://docs.djangoproject.com/en/4.0/ref/settings/#databases
+
+DATABASES = {
+ 'default': {
+ 'ENGINE': 'django.db.backends.sqlite3',
+ 'NAME': BASE_DIR / 'db.sqlite3',
+ }
+}
+
+
+# Password validation
+# https://docs.djangoproject.com/en/4.0/ref/settings/#auth-password-validators
+
+AUTH_PASSWORD_VALIDATORS = [
+ {
+ 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
+ },
+]
+
+
+# Internationalization
+# https://docs.djangoproject.com/en/4.0/topics/i18n/
+
+LANGUAGE_CODE = 'en-us'
+
+TIME_ZONE = 'America/Indiana/Knox'
+
+USE_I18N = True
+
+USE_TZ = True
+
+
+# Static files (CSS, JavaScript, Images)
+# https://docs.djangoproject.com/en/4.0/howto/static-files/
+
+STATIC_URL = 'static/'
+
+# Default primary key field type
+# https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field
+
+DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
+
+AUTH_USER_MODEL = 'users.User'
diff --git a/Code/Richard/django/pokedex/project_pokedex/urls.py b/Code/Richard/django/pokedex/project_pokedex/urls.py
new file mode 100644
index 00000000..9523aad7
--- /dev/null
+++ b/Code/Richard/django/pokedex/project_pokedex/urls.py
@@ -0,0 +1,23 @@
+"""project_pokedex URL Configuration
+
+The `urlpatterns` list routes URLs to views. For more information please see:
+ https://docs.djangoproject.com/en/4.0/topics/http/urls/
+Examples:
+Function views
+ 1. Add an import: from my_app import views
+ 2. Add a URL to urlpatterns: path('', views.home, name='home')
+Class-based views
+ 1. Add an import: from other_app.views import Home
+ 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
+Including another URLconf
+ 1. Import the include() function: from django.urls import include, path
+ 2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
+"""
+from django.contrib import admin
+from django.urls import path, include
+
+urlpatterns = [
+ path('admin/', admin.site.urls),
+ path('users/', include('users.urls')),
+ #path('pokedex_app/', include('pokedex_app.urls'))
+]
diff --git a/Code/Richard/django/pokedex/project_pokedex/wsgi.py b/Code/Richard/django/pokedex/project_pokedex/wsgi.py
new file mode 100644
index 00000000..e6fa89da
--- /dev/null
+++ b/Code/Richard/django/pokedex/project_pokedex/wsgi.py
@@ -0,0 +1,16 @@
+"""
+WSGI config for project_pokedex project.
+
+It exposes the WSGI callable as a module-level variable named ``application``.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/4.0/howto/deployment/wsgi/
+"""
+
+import os
+
+from django.core.wsgi import get_wsgi_application
+
+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project_pokedex.settings')
+
+application = get_wsgi_application()
diff --git a/Code/Richard/django/pokedex/users/__init__.py b/Code/Richard/django/pokedex/users/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/Code/Richard/django/pokedex/users/admin.py b/Code/Richard/django/pokedex/users/admin.py
new file mode 100644
index 00000000..f9c70572
--- /dev/null
+++ b/Code/Richard/django/pokedex/users/admin.py
@@ -0,0 +1,7 @@
+from django.contrib import admin
+from django.contrib.auth.admin import UserAdmin
+from .models import User
+
+# Register your models here.
+
+admin.site.register(User, UserAdmin)
diff --git a/Code/Richard/django/pokedex/users/apps.py b/Code/Richard/django/pokedex/users/apps.py
new file mode 100644
index 00000000..72b14010
--- /dev/null
+++ b/Code/Richard/django/pokedex/users/apps.py
@@ -0,0 +1,6 @@
+from django.apps import AppConfig
+
+
+class UsersConfig(AppConfig):
+ default_auto_field = 'django.db.models.BigAutoField'
+ name = 'users'
diff --git a/Code/Richard/django/pokedex/users/migrations/0001_initial.py b/Code/Richard/django/pokedex/users/migrations/0001_initial.py
new file mode 100644
index 00000000..fa94e26d
--- /dev/null
+++ b/Code/Richard/django/pokedex/users/migrations/0001_initial.py
@@ -0,0 +1,44 @@
+# Generated by Django 4.0.3 on 2022-03-10 01:29
+
+import django.contrib.auth.models
+import django.contrib.auth.validators
+from django.db import migrations, models
+import django.utils.timezone
+
+
+class Migration(migrations.Migration):
+
+ initial = True
+
+ dependencies = [
+ ('auth', '0012_alter_user_first_name_max_length'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='User',
+ fields=[
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('password', models.CharField(max_length=128, verbose_name='password')),
+ ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
+ ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
+ ('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')),
+ ('first_name', models.CharField(blank=True, max_length=150, verbose_name='first name')),
+ ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')),
+ ('email', models.EmailField(blank=True, max_length=254, verbose_name='email address')),
+ ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),
+ ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),
+ ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
+ ('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.group', verbose_name='groups')),
+ ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.permission', verbose_name='user permissions')),
+ ],
+ options={
+ 'verbose_name': 'user',
+ 'verbose_name_plural': 'users',
+ 'abstract': False,
+ },
+ managers=[
+ ('objects', django.contrib.auth.models.UserManager()),
+ ],
+ ),
+ ]
diff --git a/Code/Richard/django/pokedex/users/migrations/__init__.py b/Code/Richard/django/pokedex/users/migrations/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/Code/Richard/django/pokedex/users/models.py b/Code/Richard/django/pokedex/users/models.py
new file mode 100644
index 00000000..5edbbe79
--- /dev/null
+++ b/Code/Richard/django/pokedex/users/models.py
@@ -0,0 +1,9 @@
+from django.db import models
+from django.contrib.auth.models import AbstractUser
+
+class User(AbstractUser):
+ pass
+
+# Create your models here.
+def __str__(self):
+ return self.username
\ No newline at end of file
diff --git a/Code/Richard/django/pokedex/users/templates/users/home.html b/Code/Richard/django/pokedex/users/templates/users/home.html
new file mode 100644
index 00000000..12d3688c
--- /dev/null
+++ b/Code/Richard/django/pokedex/users/templates/users/home.html
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+ Document
+
+
+
+
+ Pokedex
+
+ {% for pokemon in my_pokemon %}
+ {{ pokemon.name }}, Height: {{pokemon.height}} Weight: {{ pokemon.weight}}
+ Pokemon Type:
{% for type in pokemon.types.all %} {{ type }}
{% endfor %}
+
+
+
+ {% endfor %}
+
+
+
\ No newline at end of file
diff --git a/Code/Richard/django/pokedex/users/tests.py b/Code/Richard/django/pokedex/users/tests.py
new file mode 100644
index 00000000..7ce503c2
--- /dev/null
+++ b/Code/Richard/django/pokedex/users/tests.py
@@ -0,0 +1,3 @@
+from django.test import TestCase
+
+# Create your tests here.
diff --git a/Code/Richard/django/pokedex/users/urls.py b/Code/Richard/django/pokedex/users/urls.py
new file mode 100644
index 00000000..f2dbd81b
--- /dev/null
+++ b/Code/Richard/django/pokedex/users/urls.py
@@ -0,0 +1,7 @@
+from django.urls import path
+from . import views
+
+app_name= 'users'
+urlpatterns=[
+ path('', views.pokedex_view, name='pokedex_view')
+]
diff --git a/Code/Richard/django/pokedex/users/views.py b/Code/Richard/django/pokedex/users/views.py
new file mode 100644
index 00000000..6cd1be0b
--- /dev/null
+++ b/Code/Richard/django/pokedex/users/views.py
@@ -0,0 +1,12 @@
+from django.shortcuts import render
+from django.http import HttpResponse
+from pokedex_app.models import Pokemon, PokemonType
+
+# Create your views here.
+
+def pokedex_view(request):
+ my_pokemon=Pokemon.objects.all()
+ context= {
+ 'my_pokemon':my_pokemon
+ }
+ return render(request, 'users/home.html', context)
\ No newline at end of file