medifreek is a PubMed search tool and a personal project. The idea was to improve existing PubMed search by using modern search techniques, i.e. semantic search (also called vector search). Because of this, medifreek is flexible when it comes to keywords, synonyms, and common misspellings as well: cholecalciferol will bring up pages related to vitamin D and cacner will give you results close to cancer, because they're semantically similar.
You can bookmark articles. Bookmarks persist until you unbookmark them. They cannot be shared between devices.
The data is up-to-date as of mid-February 2025. medifreek only stores English articles.
medifreek started off as a simple vector search engine for PubMed. There were others out there, but I thought this one could be better. The goal of medifreek was to be fast enough, but especially complete: better to wait a little longer than miss a result. If someone was looking for information on, say, "chronic serious chorioretinopathy", I wanted medifreek to pull up everything they could realistically want (at least that's on PubMeD) and put it all in one place.
And to be honest, PubMed itself already has a good search engine, so no shade do I throw. It's not surprising: they have millions of dollars and a team of geniuses. I have dozens of dollars and, let's say... casual experience with computers. But I like making things and the idea amused me, so I ran with it.
In building medifreek I quickly ran into design problems like:
During training, Matryoshka models are encouraged to front-load the most important information by computing a loss against the full embedding but also against half, quarter, eighth embeddings, and so on. In trying to maximize the loss, the model tends to put the most important information in the first components of the vector. Once trained, when you compute an encoding and truncate it, you tend to truncate the least important dimensions. It's a bit like compressing music by cutting off the highest and lowest frequencies.
So this is nice for two reasons. The first is that whenever you have a large vector encoding, you get smaller ones for free. You can dynamically tailor the vectors as you need to to balance cost/performance. On the other hand, you can get better performance in a smaller vector from the outset. The model I chose outperforms most all-MiniLM-L6-v2 -- a 384 dimensional model -- at just 64 dimensions -- because it's trained on biomedical texts and puts all the important stuff up front.
To put this into context: 40M float32 vectors of 64 dimensions translates to ~10GB worth of storage. Hetzner puts that amount of storage at around $1 a month. If these were 384 dimensional vectors (like they are for all-MiniLM) that would be 60GB and they'd be 6x slower to scan. So this is a major improvement right from the get-go.
So now -- what to encode? Encoding the titles is straightforward enough: models do best at encoding text that's semantically similar, and titles generally express one main idea.
But encode too many different things and when you lump them together you end up with a vector which doesn't encode much of anything specific. So although I wanted to encode the entire abstracts, they tend to be, well, too abstract. Encoding by sentence would be nice, but that would be terabytes worth of vectors -- impossible to work with on a budget. So I went back and forth about the best way to do this, since a good PubMed search engine should index the information in the abstracts in one way or another.
It eventually occurred to me that abstracts are, most of the time, grouped into semantically-related chunks: background, materials and methods, conclusion, etc. And when they're not, the tend to be more succinct. So I decided to go in-between and chunk those pieces to compute the vector embeddings. This seems to work acceptably well. So those different pieces of the abstract are included in the search too.
At the beginning I looked into to renting GPUs from Hetzner and elsewhere, but couldn't justify the cost. So I sucked it up and had my little Hetzner machine with its 16vCPUs patiently churn out the embeddings. I honestly didn't know any better! But I got curious and experimented with the free GPUs on Google Colab notebooks. WOW! So that's why people talk about GPUs all the time. Seriously, I didn't know! That's when I found vast.ai and saw I could get a week of training done in just a few hours by renting some cheap GPUs in third-world countries and squeezing them until they bled. So I spent ten bucks for some GPU time instead of waiting two weeks and it was totally worth it.
And that's when ten bucks became twenty became thirty became... because you know, you really have no idea what you're doing when you're just starting out. It turns out that it's not so easy to just "compute" embeddings for 100M vectors! You have to send the data to some guy's machine in Bulgaria, process it, send it back, insert it -- all while milking the most out of your GPUs and, of course, picking the right embedding model. And you can never know if the embedding model you picked will actually work on your full, 100M-vector dataset until you try it out, and by then, you're down a fat wad and the guy in Bulgaria is already living large. So it's helpful to try to get things right the first time!
Back to what I was talking about: search. To make a long story short, we have the vectors. But even vector search doesn't get all the way there, so we use postgres's built-in text search with indexes just to make sure we'll get everything we could possibly want. Postgres handles this very nicely. It converts strings of texts into lists of tokens, then builds an inverted index: a map from each token to all the texts that contain it. (This is in contrast to scanning each document for a list of words). Then finding those texts is super fast -- you just hash the tokens in the search to find all the associated documents. In other words, it's O(1).
From there, once I have my candidates, I whip out the cross-encoder to finish the job. It ranks matches and does a better job than bi-encoders alone. But it's more costly, so it helps to do it after you've already narrowed down your results.There are several good choices of index. Initially I preferred HNSW, but it loves RAM, and I can't afford that. So instead I went with DiskANN, which leverages the SDD to do a lot of the heavy lifting.
Package | Name | Version |
---|---|---|
Django | 5.1.6 | |
Python | 3.12.3 | |
debug_toolbar | Debug Toolbar | 5.0.1 |
Resource | Value |
---|---|
User CPU time | 5.976 msec |
System CPU time | 0.000 msec |
Total CPU time | 5.976 msec |
Elapsed time | 5.977 msec |
Context switches | 0 voluntary, 0 involuntary |
Timing attribute | Timeline | Milliseconds since navigation start (+length) |
---|
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | [] |
ALLOWED_HOSTS | ['*'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
BASE_DIR | PosixPath('/var/www/medifreek/medifreek_project') |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
CSRF_COOKIE_AGE | 31449600 |
CSRF_COOKIE_DOMAIN | None |
CSRF_COOKIE_HTTPONLY | False |
CSRF_COOKIE_NAME | 'csrftoken' |
CSRF_COOKIE_PATH | '/' |
CSRF_COOKIE_SAMESITE | 'Lax' |
CSRF_COOKIE_SECURE | False |
CSRF_FAILURE_VIEW | 'django.views.csrf.csrf_failure' |
CSRF_HEADER_NAME | 'HTTP_X_CSRFTOKEN' |
CSRF_TRUSTED_ORIGINS | [] |
CSRF_USE_SESSIONS | False |
DATABASES | {'default': {'ATOMIC_REQUESTS': False,
'AUTOCOMMIT': True,
'CONN_HEALTH_CHECKS': False,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql',
'HOST': 'localhost',
'NAME': 'medifreek',
'OPTIONS': {},
'PASSWORD': '********************',
'PORT': '5432',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIGRATE': True,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': 'postgres'}} |
DATABASE_ROUTERS | [] |
DATA_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
DATA_UPLOAD_MAX_NUMBER_FIELDS | 1000 |
DATA_UPLOAD_MAX_NUMBER_FILES | 100 |
DATETIME_FORMAT | 'N j, Y, P' |
DATETIME_INPUT_FORMATS | ['%Y-%m-%d %H:%M:%S',
'%Y-%m-%d %H:%M:%S.%f',
'%Y-%m-%d %H:%M',
'%m/%d/%Y %H:%M:%S',
'%m/%d/%Y %H:%M:%S.%f',
'%m/%d/%Y %H:%M',
'%m/%d/%y %H:%M:%S',
'%m/%d/%y %H:%M:%S.%f',
'%m/%d/%y %H:%M'] |
DATE_FORMAT | 'N j, Y' |
DATE_INPUT_FORMATS | ['%Y-%m-%d',
'%m/%d/%Y',
'%m/%d/%y',
'%b %d %Y',
'%b %d, %Y',
'%d %b %Y',
'%d %b, %Y',
'%B %d %Y',
'%B %d, %Y',
'%d %B %Y',
'%d %B, %Y'] |
DEBUG | True |
DEBUG_PROPAGATE_EXCEPTIONS | False |
DEBUG_TOOLBAR_CONFIG | {'INTERCEPT_REDIRECTS': False} |
DEBUG_TOOLBAR_PANELS | ['debug_toolbar.panels.versions.VersionsPanel',
'debug_toolbar.panels.timer.TimerPanel',
'debug_toolbar.panels.settings.SettingsPanel',
'debug_toolbar.panels.headers.HeadersPanel',
'debug_toolbar.panels.request.RequestPanel',
'debug_toolbar.panels.sql.SQLPanel',
'debug_toolbar.panels.staticfiles.StaticFilesPanel',
'debug_toolbar.panels.templates.TemplatesPanel',
'debug_toolbar.panels.cache.CachePanel',
'debug_toolbar.panels.signals.SignalsPanel',
'debug_toolbar.panels.logging.LoggingPanel',
'debug_toolbar.panels.redirects.RedirectsPanel'] |
DECIMAL_SEPARATOR | '.' |
DEFAULT_AUTO_FIELD | 'django.db.models.BigAutoField' |
DEFAULT_CHARSET | 'utf-8' |
DEFAULT_EXCEPTION_REPORTER | 'django.views.debug.ExceptionReporter' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
DEFAULT_FROM_EMAIL | 'webmaster@localhost' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_TABLESPACE | '' |
DISALLOWED_USER_AGENTS | [] |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_HOST | 'localhost' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | '' |
EMAIL_PORT | 25 |
EMAIL_SSL_CERTFILE | None |
EMAIL_SSL_KEYFILE | '********************' |
EMAIL_SUBJECT_PREFIX | '[Django] ' |
EMAIL_TIMEOUT | None |
EMAIL_USE_LOCALTIME | False |
EMAIL_USE_SSL | False |
EMAIL_USE_TLS | False |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.MemoryFileUploadHandler',
'django.core.files.uploadhandler.TemporaryFileUploadHandler'] |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
FILE_UPLOAD_PERMISSIONS | 420 |
FILE_UPLOAD_TEMP_DIR | None |
FIRST_DAY_OF_WEEK | 0 |
FIXTURE_DIRS | [] |
FORCE_SCRIPT_NAME | None |
FORMAT_MODULE_PATH | None |
FORMS_URLFIELD_ASSUME_HTTPS | False |
FORM_RENDERER | 'django.forms.renderers.DjangoTemplates' |
IGNORABLE_404_URLS | [] |
INSTALLED_APPS | ['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'medifreek',
'pgvector.django',
'debug_toolbar'] |
INTERNAL_IPS | ('127.0.0.1',) |
LANGUAGES | [('af', 'Afrikaans'),
('ar', 'Arabic'),
('ar-dz', 'Algerian Arabic'),
('ast', 'Asturian'),
('az', 'Azerbaijani'),
('bg', 'Bulgarian'),
('be', 'Belarusian'),
('bn', 'Bengali'),
('br', 'Breton'),
('bs', 'Bosnian'),
('ca', 'Catalan'),
('ckb', 'Central Kurdish (Sorani)'),
('cs', 'Czech'),
('cy', 'Welsh'),
('da', 'Danish'),
('de', 'German'),
('dsb', 'Lower Sorbian'),
('el', 'Greek'),
('en', 'English'),
('en-au', 'Australian English'),
('en-gb', 'British English'),
('eo', 'Esperanto'),
('es', 'Spanish'),
('es-ar', 'Argentinian Spanish'),
('es-co', 'Colombian Spanish'),
('es-mx', 'Mexican Spanish'),
('es-ni', 'Nicaraguan Spanish'),
('es-ve', 'Venezuelan Spanish'),
('et', 'Estonian'),
('eu', 'Basque'),
('fa', 'Persian'),
('fi', 'Finnish'),
('fr', 'French'),
('fy', 'Frisian'),
('ga', 'Irish'),
('gd', 'Scottish Gaelic'),
('gl', 'Galician'),
('he', 'Hebrew'),
('hi', 'Hindi'),
('hr', 'Croatian'),
('hsb', 'Upper Sorbian'),
('hu', 'Hungarian'),
('hy', 'Armenian'),
('ia', 'Interlingua'),
('id', 'Indonesian'),
('ig', 'Igbo'),
('io', 'Ido'),
('is', 'Icelandic'),
('it', 'Italian'),
('ja', 'Japanese'),
('ka', 'Georgian'),
('kab', 'Kabyle'),
('kk', 'Kazakh'),
('km', 'Khmer'),
('kn', 'Kannada'),
('ko', 'Korean'),
('ky', 'Kyrgyz'),
('lb', 'Luxembourgish'),
('lt', 'Lithuanian'),
('lv', 'Latvian'),
('mk', 'Macedonian'),
('ml', 'Malayalam'),
('mn', 'Mongolian'),
('mr', 'Marathi'),
('ms', 'Malay'),
('my', 'Burmese'),
('nb', 'Norwegian Bokmål'),
('ne', 'Nepali'),
('nl', 'Dutch'),
('nn', 'Norwegian Nynorsk'),
('os', 'Ossetic'),
('pa', 'Punjabi'),
('pl', 'Polish'),
('pt', 'Portuguese'),
('pt-br', 'Brazilian Portuguese'),
('ro', 'Romanian'),
('ru', 'Russian'),
('sk', 'Slovak'),
('sl', 'Slovenian'),
('sq', 'Albanian'),
('sr', 'Serbian'),
('sr-latn', 'Serbian Latin'),
('sv', 'Swedish'),
('sw', 'Swahili'),
('ta', 'Tamil'),
('te', 'Telugu'),
('tg', 'Tajik'),
('th', 'Thai'),
('tk', 'Turkmen'),
('tr', 'Turkish'),
('tt', 'Tatar'),
('udm', 'Udmurt'),
('ug', 'Uyghur'),
('uk', 'Ukrainian'),
('ur', 'Urdu'),
('uz', 'Uzbek'),
('vi', 'Vietnamese'),
('zh-hans', 'Simplified Chinese'),
('zh-hant', 'Traditional Chinese')] |
LANGUAGES_BIDI | ['he', 'ar', 'ar-dz', 'ckb', 'fa', 'ug', 'ur'] |
LANGUAGE_CODE | 'en-us' |
LANGUAGE_COOKIE_AGE | None |
LANGUAGE_COOKIE_DOMAIN | None |
LANGUAGE_COOKIE_HTTPONLY | False |
LANGUAGE_COOKIE_NAME | 'django_language' |
LANGUAGE_COOKIE_PATH | '/' |
LANGUAGE_COOKIE_SAMESITE | None |
LANGUAGE_COOKIE_SECURE | False |
LOCALE_PATHS | [] |
LOGGING | {} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | None |
MANAGERS | [] |
MEDIA_ROOT | '' |
MEDIA_URL | '/' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
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',
'debug_toolbar.middleware.DebugToolbarMiddleware'] |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT | '********************' |
PGVECTOR_VECTOR_SIZE | 384 |
PREPEND_WWW | False |
ROOT_URLCONF | 'medifreek_project.urls' |
SECRET_KEY | '********************' |
SECRET_KEY_FALLBACKS | '********************' |
SECURE_CONTENT_TYPE_NOSNIFF | True |
SECURE_CROSS_ORIGIN_OPENER_POLICY | 'same-origin' |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
SECURE_HSTS_PRELOAD | False |
SECURE_HSTS_SECONDS | 0 |
SECURE_PROXY_SSL_HEADER | None |
SECURE_REDIRECT_EXEMPT | [] |
SECURE_REFERRER_POLICY | 'same-origin' |
SECURE_SSL_HOST | None |
SECURE_SSL_REDIRECT | False |
SERVER_EMAIL | 'root@localhost' |
SESSION_CACHE_ALIAS | 'default' |
SESSION_COOKIE_AGE | 1209600 |
SESSION_COOKIE_DOMAIN | None |
SESSION_COOKIE_HTTPONLY | True |
SESSION_COOKIE_NAME | 'sessionid' |
SESSION_COOKIE_PATH | '/' |
SESSION_COOKIE_SAMESITE | 'Lax' |
SESSION_COOKIE_SECURE | False |
SESSION_ENGINE | 'django.contrib.sessions.backends.db' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | False |
SESSION_FILE_PATH | None |
SESSION_SAVE_EVERY_REQUEST | False |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
SETTINGS_MODULE | 'medifreek_project.settings' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | [] |
STATICFILES_DIRS | [PosixPath('/var/www/medifreek/medifreek_project/medifreek/static')] |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATIC_ROOT | PosixPath('/var/www/medifreek/medifreek_project/staticfiles') |
STATIC_URL | '/static/' |
STORAGES | {'staticfiles': {'BACKEND': 'whitenoise.storage.CompressedManifestStaticFilesStorage'}} |
TEMPLATES | [{'APP_DIRS': True,
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'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']}}] |
TEST_NON_SERIALIZED_APPS | [] |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
THOUSAND_SEPARATOR | ',' |
TIME_FORMAT | 'P' |
TIME_INPUT_FORMATS | ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] |
TIME_ZONE | 'UTC' |
USE_I18N | True |
USE_THOUSAND_SEPARATOR | False |
USE_TZ | True |
USE_X_FORWARDED_HOST | False |
USE_X_FORWARDED_PORT | False |
WSGI_APPLICATION | 'medifreek_project.wsgi.application' |
X_FRAME_OPTIONS | 'DENY' |
YEAR_MONTH_FORMAT | 'F Y' |
Key | Value |
---|---|
Accept | */* |
Accept-Encoding | gzip, br, zstd, deflate |
Connection | close |
Host | medifreek.org |
Referer | https://medifreek.org/about |
User-Agent | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
X-Forwarded-For | 3.17.62.245 |
X-Forwarded-Proto | https |
X-Real-Ip | 3.17.62.245 |
Key | Value |
---|---|
Content-Type | text/html; charset=utf-8 |
Since the WSGI environ inherits the environment of the server, only a significant subset is shown below.
Key | Value |
---|---|
PATH_INFO | /about/ |
QUERY_STRING | |
REMOTE_ADDR | 127.0.0.1 |
REQUEST_METHOD | GET |
SCRIPT_NAME | |
SERVER_NAME | 127.0.0.1 |
SERVER_PORT | 8000 |
SERVER_PROTOCOL | HTTP/1.0 |
SERVER_SOFTWARE | gunicorn/23.0.0 |
View function | Arguments | Keyword arguments | URL name |
---|---|---|---|
medifreek.views.about |
() |
{} |
about |
No SQL queries were recorded during this request.
Path | Location |
---|---|
.DS_Store | /var/www/medifreek/medifreek_project/medifreek/static/.DS_Store |
medifreek/.DS_Store | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/.DS_Store |
medifreek/style.css | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/style.css |
medifreek/images/bookmark-filled.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/bookmark-filled.svg |
medifreek/images/bookmark-wavy-filled.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/bookmark-wavy-filled.svg |
medifreek/images/bookmark-instructions-2.png | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/bookmark-instructions-2.png |
medifreek/images/medifreek-new.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/medifreek-new.svg |
medifreek/images/bookmark-empty-1px.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/bookmark-empty-1px.svg |
medifreek/images/.DS_Store | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/.DS_Store |
medifreek/images/bookmark-empty.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/bookmark-empty.svg |
medifreek/images/bookmark-wavy.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/bookmark-wavy.svg |
medifreek/images/click-to-make-bookmarks.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/click-to-make-bookmarks.svg |
medifreek/images/simplelogo.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/simplelogo.svg |
medifreek/images/no-results.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/no-results.svg |
medifreek/images/sci-hub-clean.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/sci-hub-clean.svg |
medifreek/images/sci-hub.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/sci-hub.svg |
medifreek/images/sci-hub-2.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/sci-hub-2.svg |
medifreek/images/bookmark-filled-1px.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/bookmark-filled-1px.svg |
medifreek/images/pubmed.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/pubmed.svg |
medifreek/images/medifreek-alpha.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/medifreek-alpha.svg |
medifreek/images/medifreek.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/medifreek.svg |
medifreek/images/bookmark-instructions.png | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/bookmark-instructions.png |
medifreek/images/medifreek_raw.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/medifreek_raw.svg |
medifreek/images/favicon/favicon-32x32.png | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/favicon/favicon-32x32.png |
medifreek/images/favicon/apple-touch-icon.png | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/favicon/apple-touch-icon.png |
medifreek/images/favicon/android-chrome-512x512.png | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/favicon/android-chrome-512x512.png |
medifreek/images/favicon/android-chrome-192x192.png | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/favicon/android-chrome-192x192.png |
medifreek/images/favicon/favicon-16x16.png | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/favicon/favicon-16x16.png |
medifreek/images/favicon/favicon.ico | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/favicon/favicon.ico |
medifreek/images/favicon/site.webmanifest | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/favicon/site.webmanifest |
medifreek/js/bookmarks-filter.js | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/js/bookmarks-filter.js |
medifreek/js/bookmark.js | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/js/bookmark.js |
medifreek/js/report-bug.js | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/js/report-bug.js |
Path | Location |
---|---|
admin/img/icon-unknown.svg | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-unknown.svg |
admin/img/icon-hidelink.svg | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-hidelink.svg |
admin/img/selector-icons.svg | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/selector-icons.svg |
admin/img/README.txt | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/README.txt |
admin/img/icon-calendar.svg | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-calendar.svg |
admin/img/icon-addlink.svg | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-addlink.svg |
admin/img/icon-no.svg | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-no.svg |
admin/img/inline-delete.svg | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/inline-delete.svg |
admin/img/icon-deletelink.svg | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-deletelink.svg |
admin/img/icon-viewlink.svg | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-viewlink.svg |
admin/img/icon-changelink.svg | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-changelink.svg |
admin/img/calendar-icons.svg | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/calendar-icons.svg |
admin/img/icon-unknown-alt.svg | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-unknown-alt.svg |
admin/img/icon-alert.svg | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-alert.svg |
admin/img/icon-clock.svg | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-clock.svg |
admin/img/icon-yes.svg | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/icon-yes.svg |
admin/img/sorting-icons.svg | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/sorting-icons.svg |
admin/img/search.svg | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/search.svg |
admin/img/tooltag-arrowright.svg | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/tooltag-arrowright.svg |
admin/img/LICENSE | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/LICENSE |
admin/img/tooltag-add.svg | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/tooltag-add.svg |
admin/img/gis/move_vertex_on.svg | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_on.svg |
admin/img/gis/move_vertex_off.svg | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_off.svg |
admin/js/inlines.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/inlines.js |
admin/js/SelectFilter2.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/SelectFilter2.js |
admin/js/actions.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/actions.js |
admin/js/theme.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/theme.js |
admin/js/urlify.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/urlify.js |
admin/js/unusable_password_field.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/unusable_password_field.js |
admin/js/change_form.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/change_form.js |
admin/js/calendar.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/calendar.js |
admin/js/cancel.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/cancel.js |
admin/js/core.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/core.js |
admin/js/SelectBox.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/SelectBox.js |
admin/js/filters.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/filters.js |
admin/js/autocomplete.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/autocomplete.js |
admin/js/jquery.init.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/jquery.init.js |
admin/js/prepopulate_init.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/prepopulate_init.js |
admin/js/nav_sidebar.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/nav_sidebar.js |
admin/js/popup_response.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/popup_response.js |
admin/js/prepopulate.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/prepopulate.js |
admin/js/vendor/xregexp/xregexp.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.js |
admin/js/vendor/xregexp/xregexp.min.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.min.js |
admin/js/vendor/xregexp/LICENSE.txt | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE.txt |
admin/js/vendor/jquery/jquery.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.js |
admin/js/vendor/jquery/jquery.min.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.min.js |
admin/js/vendor/jquery/LICENSE.txt | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/LICENSE.txt |
admin/js/vendor/select2/select2.full.min.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.min.js |
admin/js/vendor/select2/LICENSE.md | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md |
admin/js/vendor/select2/select2.full.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.js |
admin/js/vendor/select2/i18n/zh-TW.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-TW.js |
admin/js/vendor/select2/i18n/ca.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ca.js |
admin/js/vendor/select2/i18n/de.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/de.js |
admin/js/vendor/select2/i18n/hu.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hu.js |
admin/js/vendor/select2/i18n/ro.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ro.js |
admin/js/vendor/select2/i18n/pt.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt.js |
admin/js/vendor/select2/i18n/bg.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bg.js |
admin/js/vendor/select2/i18n/is.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/is.js |
admin/js/vendor/select2/i18n/pl.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pl.js |
admin/js/vendor/select2/i18n/tr.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/tr.js |
admin/js/vendor/select2/i18n/az.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/az.js |
admin/js/vendor/select2/i18n/vi.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/vi.js |
admin/js/vendor/select2/i18n/sr-Cyrl.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr-Cyrl.js |
admin/js/vendor/select2/i18n/bs.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bs.js |
admin/js/vendor/select2/i18n/dsb.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/dsb.js |
admin/js/vendor/select2/i18n/sv.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sv.js |
admin/js/vendor/select2/i18n/sl.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sl.js |
admin/js/vendor/select2/i18n/id.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/id.js |
admin/js/vendor/select2/i18n/cs.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/cs.js |
admin/js/vendor/select2/i18n/ka.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ka.js |
admin/js/vendor/select2/i18n/en.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/en.js |
admin/js/vendor/select2/i18n/nb.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nb.js |
admin/js/vendor/select2/i18n/sr.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr.js |
admin/js/vendor/select2/i18n/fa.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fa.js |
admin/js/vendor/select2/i18n/eu.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/eu.js |
admin/js/vendor/select2/i18n/sk.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sk.js |
admin/js/vendor/select2/i18n/hsb.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hsb.js |
admin/js/vendor/select2/i18n/ne.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ne.js |
admin/js/vendor/select2/i18n/bn.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bn.js |
admin/js/vendor/select2/i18n/es.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/es.js |
admin/js/vendor/select2/i18n/tk.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/tk.js |
admin/js/vendor/select2/i18n/nl.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nl.js |
admin/js/vendor/select2/i18n/el.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/el.js |
admin/js/vendor/select2/i18n/he.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/he.js |
admin/js/vendor/select2/i18n/sq.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sq.js |
admin/js/vendor/select2/i18n/da.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/da.js |
admin/js/vendor/select2/i18n/km.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/km.js |
admin/js/vendor/select2/i18n/af.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/af.js |
admin/js/vendor/select2/i18n/ja.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ja.js |
admin/js/vendor/select2/i18n/lv.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lv.js |
admin/js/vendor/select2/i18n/hy.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hy.js |
admin/js/vendor/select2/i18n/gl.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/gl.js |
admin/js/vendor/select2/i18n/zh-CN.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-CN.js |
admin/js/vendor/select2/i18n/ps.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ps.js |
admin/js/vendor/select2/i18n/fi.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fi.js |
admin/js/vendor/select2/i18n/ar.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ar.js |
admin/js/vendor/select2/i18n/ru.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ru.js |
admin/js/vendor/select2/i18n/et.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/et.js |
admin/js/vendor/select2/i18n/pt-BR.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt-BR.js |
admin/js/vendor/select2/i18n/it.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/it.js |
admin/js/vendor/select2/i18n/ko.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ko.js |
admin/js/vendor/select2/i18n/mk.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/mk.js |
admin/js/vendor/select2/i18n/hi.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hi.js |
admin/js/vendor/select2/i18n/ms.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ms.js |
admin/js/vendor/select2/i18n/th.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/th.js |
admin/js/vendor/select2/i18n/lt.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lt.js |
admin/js/vendor/select2/i18n/fr.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fr.js |
admin/js/vendor/select2/i18n/hr.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hr.js |
admin/js/vendor/select2/i18n/uk.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/uk.js |
admin/js/admin/RelatedObjectLookups.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js |
admin/js/admin/DateTimeShortcuts.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js |
admin/css/forms.css | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/forms.css |
admin/css/dashboard.css | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/dashboard.css |
admin/css/rtl.css | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/rtl.css |
admin/css/widgets.css | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/widgets.css |
admin/css/changelists.css | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/changelists.css |
admin/css/unusable_password_field.css | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/unusable_password_field.css |
admin/css/responsive_rtl.css | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/responsive_rtl.css |
admin/css/autocomplete.css | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/autocomplete.css |
admin/css/responsive.css | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/responsive.css |
admin/css/dark_mode.css | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/dark_mode.css |
admin/css/base.css | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/base.css |
admin/css/nav_sidebar.css | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/nav_sidebar.css |
admin/css/login.css | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/login.css |
admin/css/vendor/select2/select2.min.css | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.min.css |
admin/css/vendor/select2/LICENSE-SELECT2.md | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/vendor/select2/LICENSE-SELECT2.md |
admin/css/vendor/select2/select2.css | /var/www/medifreek/.venv/lib/python3.12/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.css |
.DS_Store | /var/www/medifreek/medifreek_project/medifreek/static/.DS_Store |
medifreek/.DS_Store | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/.DS_Store |
medifreek/style.css | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/style.css |
medifreek/images/bookmark-filled.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/bookmark-filled.svg |
medifreek/images/bookmark-wavy-filled.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/bookmark-wavy-filled.svg |
medifreek/images/bookmark-instructions-2.png | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/bookmark-instructions-2.png |
medifreek/images/medifreek-new.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/medifreek-new.svg |
medifreek/images/bookmark-empty-1px.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/bookmark-empty-1px.svg |
medifreek/images/.DS_Store | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/.DS_Store |
medifreek/images/bookmark-empty.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/bookmark-empty.svg |
medifreek/images/bookmark-wavy.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/bookmark-wavy.svg |
medifreek/images/click-to-make-bookmarks.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/click-to-make-bookmarks.svg |
medifreek/images/simplelogo.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/simplelogo.svg |
medifreek/images/no-results.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/no-results.svg |
medifreek/images/sci-hub-clean.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/sci-hub-clean.svg |
medifreek/images/sci-hub.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/sci-hub.svg |
medifreek/images/sci-hub-2.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/sci-hub-2.svg |
medifreek/images/bookmark-filled-1px.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/bookmark-filled-1px.svg |
medifreek/images/pubmed.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/pubmed.svg |
medifreek/images/medifreek-alpha.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/medifreek-alpha.svg |
medifreek/images/medifreek.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/medifreek.svg |
medifreek/images/bookmark-instructions.png | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/bookmark-instructions.png |
medifreek/images/medifreek_raw.svg | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/medifreek_raw.svg |
medifreek/images/favicon/favicon-32x32.png | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/favicon/favicon-32x32.png |
medifreek/images/favicon/apple-touch-icon.png | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/favicon/apple-touch-icon.png |
medifreek/images/favicon/android-chrome-512x512.png | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/favicon/android-chrome-512x512.png |
medifreek/images/favicon/android-chrome-192x192.png | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/favicon/android-chrome-192x192.png |
medifreek/images/favicon/favicon-16x16.png | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/favicon/favicon-16x16.png |
medifreek/images/favicon/favicon.ico | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/favicon/favicon.ico |
medifreek/images/favicon/site.webmanifest | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/images/favicon/site.webmanifest |
medifreek/js/bookmarks-filter.js | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/js/bookmarks-filter.js |
medifreek/js/bookmark.js | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/js/bookmark.js |
medifreek/js/report-bug.js | /var/www/medifreek/medifreek_project/medifreek/static/medifreek/js/report-bug.js |
debug_toolbar/js/history.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/debug_toolbar/static/debug_toolbar/js/history.js |
debug_toolbar/js/redirect.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/debug_toolbar/static/debug_toolbar/js/redirect.js |
debug_toolbar/js/toolbar.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/debug_toolbar/static/debug_toolbar/js/toolbar.js |
debug_toolbar/js/timer.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/debug_toolbar/static/debug_toolbar/js/timer.js |
debug_toolbar/js/utils.js | /var/www/medifreek/.venv/lib/python3.12/site-packages/debug_toolbar/static/debug_toolbar/js/utils.js |
debug_toolbar/css/toolbar.css | /var/www/medifreek/.venv/lib/python3.12/site-packages/debug_toolbar/static/debug_toolbar/css/toolbar.css |
debug_toolbar/css/print.css | /var/www/medifreek/.venv/lib/python3.12/site-packages/debug_toolbar/static/debug_toolbar/css/print.css |
None
{'False': False, 'None': None, 'True': True}
{'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at '
'0x746b79835760>>',
'debug': True,
'messages': <FallbackStorage: request=<WSGIRequest: GET '/about/'>>,
'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x746b7993bec0>>),
'request': '<<request>>',
'sql_queries': <function debug.<locals>.<lambda> at 0x746b7986e840>,
'user': '<SimpleLazyObject: <function '
'AuthenticationMiddleware.process_request.<locals>.<lambda> at '
'0x746b7993bec0>>'}
{'False': False, 'None': None, 'True': True}
{'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10,
'ERROR': 40,
'INFO': 20,
'SUCCESS': 25,
'WARNING': 30},
'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at '
'0x746b79835760>>',
'debug': True,
'messages': <FallbackStorage: request=<WSGIRequest: GET '/about/'>>,
'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x746b7993bec0>>),
'request': '<<request>>',
'sql_queries': <function debug.<locals>.<lambda> at 0x746b7986e840>,
'user': '<SimpleLazyObject: <function '
'AuthenticationMiddleware.process_request.<locals>.<lambda> at '
'0x746b7993bec0>>'}
{'csrf_token': <SimpleLazyObject: <function csrf.<locals>._get_val at 0x746b79835760>>}
{'debug': True, 'sql_queries': <function debug.<locals>.<lambda> at 0x746b7986e840>}
{'request': <WSGIRequest: GET '/about/'>}
{'user': <SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x746b7993bec0>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x746b7993bec0>>)}
{'messages': <FallbackStorage: request=<WSGIRequest: GET '/about/'>>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}}
Total calls | Total time | Cache hits | Cache misses |
---|---|---|---|
0 | 0 ms | 0 | 0 |
add | get | set | get_or_set | touch | delete | clear | get_many | set_many | delete_many | has_key | incr | decr | incr_version | decr_version |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Signal | Receivers |
---|---|
class_prepared | |
connection_created | |
got_request_exception | |
m2m_changed | |
post_delete | |
post_init | |
post_migrate | create_permissions, create_contenttypes |
post_save | |
pre_delete | |
pre_init | |
pre_migrate | inject_rename_contenttypes_operations |
pre_save | |
request_finished | close_old_connections, close_caches, reset_urlconf |
request_started | reset_queries, close_old_connections |
setting_changed | reset_cache, clear_cache_handlers, update_installed_apps, update_connections_time_zone, clear_routers_cache, reset_template_engines, storages_changed, clear_serializers_cache, language_changed, localize_settings_changed, complex_setting_changed, root_urlconf_changed, static_storage_changed, static_finders_changed, form_renderer_changed, auth_password_validators_changed, user_model_swapped, update_toolbar_config, reset_hashers, Options.setting_changed, update_level_tags, clear_caches, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, CompressedManifestStaticFilesStorage._clear_cached_properties, DebugStaticFilesStorage._clear_cached_properties |