├── .github └── workflows │ └── main_blogwebsite1.yml ├── PREVIEW ├── IMG1.png ├── IMG2.png ├── IMG3.png ├── IMG4.png └── IMG5.png ├── db.sqlite3 ├── manage.py ├── media └── images │ └── posts │ ├── Eng-Blog-Self-Serve-Hero-Images-ANALYTICS-402-Teale.webp │ ├── Eng-Blog-Self-Serve-Hero-Images-DEBUGGING-201-Orange.webp │ ├── Meta-Global-Maps-HERO.webp │ ├── OSIBBlue.jpg │ ├── WhatsApp-Code-Verify-Hero2.webp │ ├── cold.webp │ ├── img.webp │ ├── img2.jfif │ ├── img3.jpg │ ├── img4.jpg │ ├── img5.jpg │ ├── img6.webp │ ├── img6_rnLNVKl.webp │ ├── img6_tgyTPtX.webp │ └── savetrees.jpg ├── myapp ├── __init__.py ├── __pycache__ │ ├── __init__.cpython-311.pyc │ ├── __init__.cpython-38.pyc │ ├── admin.cpython-311.pyc │ ├── admin.cpython-38.pyc │ ├── apps.cpython-311.pyc │ ├── apps.cpython-38.pyc │ ├── models.cpython-311.pyc │ ├── models.cpython-38.pyc │ ├── urls.cpython-311.pyc │ ├── urls.cpython-38.pyc │ ├── views.cpython-311.pyc │ └── views.cpython-38.pyc ├── admin.py ├── apps.py ├── migrations │ ├── 0001_initial.py │ ├── 0002_rename_username_post_post_remove_comment_username_and_more.py │ ├── 0003_rename_comment_comment_postcomment_and_more.py │ ├── 0004_userinfo_address_userinfo_dob_alter_comment_time_and_more.py │ ├── 0005_alter_comment_time_alter_post_likes_alter_post_time.py │ ├── 0006_alter_comment_time_alter_post_time.py │ ├── 0007_rename_postcomment_comment_post_and_more.py │ ├── 0008_alter_comment_time_alter_post_time.py │ ├── 0009_alter_comment_time_alter_post_time.py │ ├── 0010_comment_user_alter_comment_time_alter_post_time_and_more.py │ ├── 0011_delete_userinfo.py │ ├── 0012_alter_comment_time_alter_post_time.py │ ├── 0013_alter_comment_time_alter_post_time.py │ ├── 0014_contact.py │ ├── __init__.py │ └── __pycache__ │ │ ├── 0001_initial.cpython-311.pyc │ │ ├── 0001_initial.cpython-38.pyc │ │ ├── 0002_rename_username_post_post_remove_comment_username_and_more.cpython-311.pyc │ │ ├── 0002_rename_username_post_post_remove_comment_username_and_more.cpython-38.pyc │ │ ├── 0003_rename_comment_comment_postcomment_and_more.cpython-311.pyc │ │ ├── 0003_rename_comment_comment_postcomment_and_more.cpython-38.pyc │ │ ├── 0004_userinfo_address_userinfo_dob_alter_comment_time_and_more.cpython-311.pyc │ │ ├── 0004_userinfo_address_userinfo_dob_alter_comment_time_and_more.cpython-38.pyc │ │ ├── 0005_alter_comment_time_alter_post_likes_alter_post_time.cpython-311.pyc │ │ ├── 0005_alter_comment_time_alter_post_likes_alter_post_time.cpython-38.pyc │ │ ├── 0006_alter_comment_time_alter_post_time.cpython-311.pyc │ │ ├── 0006_alter_comment_time_alter_post_time.cpython-38.pyc │ │ ├── 0007_rename_postcomment_comment_post_and_more.cpython-311.pyc │ │ ├── 0007_rename_postcomment_comment_post_and_more.cpython-38.pyc │ │ ├── 0008_alter_comment_time_alter_post_time.cpython-311.pyc │ │ ├── 0008_alter_comment_time_alter_post_time.cpython-38.pyc │ │ ├── 0009_alter_comment_time_alter_post_time.cpython-311.pyc │ │ ├── 0009_alter_comment_time_alter_post_time.cpython-38.pyc │ │ ├── 0010_comment_user_alter_comment_time_alter_post_time_and_more.cpython-311.pyc │ │ ├── 0010_comment_user_alter_comment_time_alter_post_time_and_more.cpython-38.pyc │ │ ├── 0011_delete_userinfo.cpython-311.pyc │ │ ├── 0011_delete_userinfo.cpython-38.pyc │ │ ├── 0012_alter_comment_time_alter_post_time.cpython-311.pyc │ │ ├── 0012_alter_comment_time_alter_post_time.cpython-38.pyc │ │ ├── 0013_alter_comment_time_alter_post_time.cpython-311.pyc │ │ ├── 0014_contact.cpython-311.pyc │ │ ├── __init__.cpython-311.pyc │ │ └── __init__.cpython-38.pyc ├── models.py ├── tests.py ├── urls.py └── views.py ├── myproject ├── __init__.py ├── __pycache__ │ ├── __init__.cpython-311.pyc │ ├── __init__.cpython-38.pyc │ ├── settings.cpython-311.pyc │ ├── settings.cpython-38.pyc │ ├── urls.cpython-311.pyc │ ├── urls.cpython-38.pyc │ ├── wsgi.cpython-311.pyc │ └── wsgi.cpython-38.pyc ├── asgi.py ├── settings.py ├── urls.py └── wsgi.py ├── readme.md ├── requirements.txt ├── static ├── assets │ ├── css │ │ ├── flex-slider.css │ │ ├── fontawesome.css │ │ ├── owl.css │ │ ├── styles.css │ │ └── templatemo-stand-blog.css │ ├── fonts │ │ ├── Flaticon.woff │ │ ├── FontAwesome.otf │ │ ├── flexslider-icon.eot │ │ ├── flexslider-icon.svg │ │ ├── flexslider-icon.ttf │ │ ├── flexslider-icon.woff │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ ├── fontawesome-webfont.woff2 │ │ ├── slick.eot │ │ ├── slick.svg │ │ ├── slick.ttf │ │ └── slick.woff │ ├── images │ │ ├── about-us.jpg │ │ ├── ai.jpg │ │ ├── banner-item-01.jpg │ │ ├── banner-item-02.jpg │ │ ├── banner-item-03.jpg │ │ ├── banner-item-04.jpg │ │ ├── banner-item-05.jpg │ │ ├── banner-item-06.jpg │ │ ├── blog-post-01.jpg │ │ ├── blog-post-02.jpg │ │ ├── blog-post-03.jpg │ │ ├── blog-thumb-01.jpg │ │ ├── blog-thumb-02.jpg │ │ ├── blog-thumb-03.jpg │ │ ├── blog-thumb-04.jpg │ │ ├── blog-thumb-05.jpg │ │ ├── blog-thumb-06.jpg │ │ ├── comment-author-01.jpg │ │ ├── comment-author-02.jpg │ │ ├── comment-author-03.jpg │ │ ├── cta-bg.jpg │ │ ├── education.jpg │ │ ├── heading-bg.jpg │ │ ├── img1.jpg │ │ ├── img2.jpg │ │ ├── img3.jpg │ │ ├── img4.jpg │ │ ├── nature.jpg │ │ ├── tech.jpg │ │ ├── travel.jpg │ │ └── user.png │ └── js │ │ ├── accordions.js │ │ ├── custom.js │ │ ├── isotope.js │ │ ├── owl.js │ │ └── slick.js ├── prepros-6.config └── vendor │ ├── bootstrap │ ├── css │ │ └── bootstrap.min.css │ └── js │ │ └── bootstrap.bundle.min.js │ └── jquery │ └── jquery.min.js └── templates ├── blog.html ├── contact.html ├── create.html ├── footer.html ├── header.html ├── index.html ├── post-details.html ├── postedit.html ├── profile.html ├── profileedit.html ├── signin.html └── signup.html /.github/workflows/main_blogwebsite1.yml: -------------------------------------------------------------------------------- 1 | # Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy 2 | # More GitHub Actions for Azure: https://github.com/Azure/actions 3 | # More info on Python, GitHub Actions, and Azure App Service: https://aka.ms/python-webapps-actions 4 | 5 | name: Build and deploy Python app to Azure Web App - blogwebsite1 6 | 7 | on: 8 | push: 9 | branches: 10 | - main 11 | workflow_dispatch: 12 | 13 | jobs: 14 | build: 15 | runs-on: ubuntu-latest 16 | 17 | steps: 18 | - uses: actions/checkout@v4 19 | 20 | - name: Set up Python version 21 | uses: actions/setup-python@v1 22 | with: 23 | python-version: '3.12' 24 | 25 | - name: Create and start virtual environment 26 | run: | 27 | python -m venv venv 28 | source venv/bin/activate 29 | 30 | - name: Install dependencies 31 | run: pip install -r requirements.txt 32 | 33 | # Optional: Add step to run tests here (PyTest, Django test suites, etc.) 34 | 35 | - name: Zip artifact for deployment 36 | run: zip release.zip ./* -r 37 | 38 | - name: Upload artifact for deployment jobs 39 | uses: actions/upload-artifact@v3 40 | with: 41 | name: python-app 42 | path: | 43 | release.zip 44 | !venv/ 45 | 46 | deploy: 47 | runs-on: ubuntu-latest 48 | needs: build 49 | environment: 50 | name: 'Production' 51 | url: ${{ steps.deploy-to-webapp.outputs.webapp-url }} 52 | 53 | steps: 54 | - name: Download artifact from build job 55 | uses: actions/download-artifact@v3 56 | with: 57 | name: python-app 58 | 59 | - name: Unzip artifact for deployment 60 | run: unzip release.zip 61 | 62 | 63 | - name: 'Deploy to Azure Web App' 64 | uses: azure/webapps-deploy@v2 65 | id: deploy-to-webapp 66 | with: 67 | app-name: 'blogwebsite1' 68 | slot-name: 'Production' 69 | publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_B389DF50A4CC47778E803CFF6B261AFE }} -------------------------------------------------------------------------------- /PREVIEW/IMG1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/PREVIEW/IMG1.png -------------------------------------------------------------------------------- /PREVIEW/IMG2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/PREVIEW/IMG2.png -------------------------------------------------------------------------------- /PREVIEW/IMG3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/PREVIEW/IMG3.png -------------------------------------------------------------------------------- /PREVIEW/IMG4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/PREVIEW/IMG4.png -------------------------------------------------------------------------------- /PREVIEW/IMG5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/PREVIEW/IMG5.png -------------------------------------------------------------------------------- /db.sqlite3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/db.sqlite3 -------------------------------------------------------------------------------- /manage.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | """Django's command-line utility for administrative tasks.""" 3 | import os 4 | import sys 5 | 6 | 7 | def main(): 8 | """Run administrative tasks.""" 9 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings") 10 | try: 11 | from django.core.management import execute_from_command_line 12 | except ImportError as exc: 13 | raise ImportError( 14 | "Couldn't import Django. Are you sure it's installed and " 15 | "available on your PYTHONPATH environment variable? Did you " 16 | "forget to activate a virtual environment?" 17 | ) from exc 18 | execute_from_command_line(sys.argv) 19 | 20 | 21 | if __name__ == "__main__": 22 | main() 23 | -------------------------------------------------------------------------------- /media/images/posts/Eng-Blog-Self-Serve-Hero-Images-ANALYTICS-402-Teale.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/media/images/posts/Eng-Blog-Self-Serve-Hero-Images-ANALYTICS-402-Teale.webp -------------------------------------------------------------------------------- /media/images/posts/Eng-Blog-Self-Serve-Hero-Images-DEBUGGING-201-Orange.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/media/images/posts/Eng-Blog-Self-Serve-Hero-Images-DEBUGGING-201-Orange.webp -------------------------------------------------------------------------------- /media/images/posts/Meta-Global-Maps-HERO.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/media/images/posts/Meta-Global-Maps-HERO.webp -------------------------------------------------------------------------------- /media/images/posts/OSIBBlue.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/media/images/posts/OSIBBlue.jpg -------------------------------------------------------------------------------- /media/images/posts/WhatsApp-Code-Verify-Hero2.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/media/images/posts/WhatsApp-Code-Verify-Hero2.webp -------------------------------------------------------------------------------- /media/images/posts/cold.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/media/images/posts/cold.webp -------------------------------------------------------------------------------- /media/images/posts/img.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/media/images/posts/img.webp -------------------------------------------------------------------------------- /media/images/posts/img2.jfif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/media/images/posts/img2.jfif -------------------------------------------------------------------------------- /media/images/posts/img3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/media/images/posts/img3.jpg -------------------------------------------------------------------------------- /media/images/posts/img4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/media/images/posts/img4.jpg -------------------------------------------------------------------------------- /media/images/posts/img5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/media/images/posts/img5.jpg -------------------------------------------------------------------------------- /media/images/posts/img6.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/media/images/posts/img6.webp -------------------------------------------------------------------------------- /media/images/posts/img6_rnLNVKl.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/media/images/posts/img6_rnLNVKl.webp -------------------------------------------------------------------------------- /media/images/posts/img6_tgyTPtX.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/media/images/posts/img6_tgyTPtX.webp -------------------------------------------------------------------------------- /media/images/posts/savetrees.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/media/images/posts/savetrees.jpg -------------------------------------------------------------------------------- /myapp/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/__init__.py -------------------------------------------------------------------------------- /myapp/__pycache__/__init__.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/__pycache__/__init__.cpython-311.pyc -------------------------------------------------------------------------------- /myapp/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /myapp/__pycache__/admin.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/__pycache__/admin.cpython-311.pyc -------------------------------------------------------------------------------- /myapp/__pycache__/admin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/__pycache__/admin.cpython-38.pyc -------------------------------------------------------------------------------- /myapp/__pycache__/apps.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/__pycache__/apps.cpython-311.pyc -------------------------------------------------------------------------------- /myapp/__pycache__/apps.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/__pycache__/apps.cpython-38.pyc -------------------------------------------------------------------------------- /myapp/__pycache__/models.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/__pycache__/models.cpython-311.pyc -------------------------------------------------------------------------------- /myapp/__pycache__/models.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/__pycache__/models.cpython-38.pyc -------------------------------------------------------------------------------- /myapp/__pycache__/urls.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/__pycache__/urls.cpython-311.pyc -------------------------------------------------------------------------------- /myapp/__pycache__/urls.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/__pycache__/urls.cpython-38.pyc -------------------------------------------------------------------------------- /myapp/__pycache__/views.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/__pycache__/views.cpython-311.pyc -------------------------------------------------------------------------------- /myapp/__pycache__/views.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/__pycache__/views.cpython-38.pyc -------------------------------------------------------------------------------- /myapp/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | from .models import Post,Comment,Contact 3 | # Register your models here. 4 | 5 | admin.site.register(Post) 6 | admin.site.register(Comment) 7 | admin.site.register(Contact) 8 | 9 | 10 | 11 | admin.site.site_header = 'BLOGSPOT | ADMIN PANEL' 12 | admin.site.site_title = 'BLOGSPOT | BLOGGING WEBSITE' 13 | admin.site.index_title= 'BlogSpot Site Administration' 14 | -------------------------------------------------------------------------------- /myapp/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class MyappConfig(AppConfig): 5 | default_auto_field = "django.db.models.BigAutoField" 6 | name = "myapp" 7 | -------------------------------------------------------------------------------- /myapp/migrations/0001_initial.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 4.1.7 on 2023-04-22 11:52 2 | 3 | from django.conf import settings 4 | from django.db import migrations, models 5 | import django.db.models.deletion 6 | 7 | 8 | class Migration(migrations.Migration): 9 | 10 | initial = True 11 | 12 | dependencies = [ 13 | migrations.swappable_dependency(settings.AUTH_USER_MODEL), 14 | ] 15 | 16 | operations = [ 17 | migrations.CreateModel( 18 | name="UserInfo", 19 | fields=[ 20 | ( 21 | "id", 22 | models.BigAutoField( 23 | auto_created=True, 24 | primary_key=True, 25 | serialize=False, 26 | verbose_name="ID", 27 | ), 28 | ), 29 | ("image", models.ImageField(blank=True, null=True, upload_to="images")), 30 | ( 31 | "username", 32 | models.OneToOneField( 33 | on_delete=django.db.models.deletion.CASCADE, 34 | to=settings.AUTH_USER_MODEL, 35 | ), 36 | ), 37 | ], 38 | ), 39 | migrations.CreateModel( 40 | name="Post", 41 | fields=[ 42 | ( 43 | "id", 44 | models.BigAutoField( 45 | auto_created=True, 46 | primary_key=True, 47 | serialize=False, 48 | verbose_name="ID", 49 | ), 50 | ), 51 | ("postname", models.CharField(max_length=600)), 52 | ("category", models.CharField(max_length=600)), 53 | ( 54 | "image", 55 | models.ImageField(blank=True, null=True, upload_to="images/posts"), 56 | ), 57 | ("content", models.CharField(max_length=10000000)), 58 | ("time", models.CharField(max_length=30)), 59 | ("likes", models.IntegerField()), 60 | ( 61 | "username", 62 | models.ForeignKey( 63 | on_delete=django.db.models.deletion.CASCADE, 64 | to=settings.AUTH_USER_MODEL, 65 | ), 66 | ), 67 | ], 68 | ), 69 | migrations.CreateModel( 70 | name="Comment", 71 | fields=[ 72 | ( 73 | "id", 74 | models.BigAutoField( 75 | auto_created=True, 76 | primary_key=True, 77 | serialize=False, 78 | verbose_name="ID", 79 | ), 80 | ), 81 | ("content", models.CharField(max_length=200)), 82 | ("time", models.CharField(max_length=30)), 83 | ( 84 | "username", 85 | models.ForeignKey( 86 | on_delete=django.db.models.deletion.CASCADE, 87 | to=settings.AUTH_USER_MODEL, 88 | ), 89 | ), 90 | ], 91 | ), 92 | ] 93 | -------------------------------------------------------------------------------- /myapp/migrations/0002_rename_username_post_post_remove_comment_username_and_more.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 4.1.7 on 2023-04-22 12:08 2 | 3 | from django.db import migrations, models 4 | import django.db.models.deletion 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ("myapp", "0001_initial"), 11 | ] 12 | 13 | operations = [ 14 | migrations.RenameField( 15 | model_name="post", old_name="username", new_name="post", 16 | ), 17 | migrations.RemoveField(model_name="comment", name="username",), 18 | migrations.AddField( 19 | model_name="comment", 20 | name="comment", 21 | field=models.ForeignKey( 22 | default=1, on_delete=django.db.models.deletion.CASCADE, to="myapp.post" 23 | ), 24 | preserve_default=False, 25 | ), 26 | migrations.AlterField( 27 | model_name="post", 28 | name="content", 29 | field=models.CharField(max_length=100000), 30 | ), 31 | ] 32 | -------------------------------------------------------------------------------- /myapp/migrations/0003_rename_comment_comment_postcomment_and_more.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 4.1.7 on 2023-04-22 12:09 2 | 3 | from django.db import migrations 4 | 5 | 6 | class Migration(migrations.Migration): 7 | 8 | dependencies = [ 9 | ("myapp", "0002_rename_username_post_post_remove_comment_username_and_more"), 10 | ] 11 | 12 | operations = [ 13 | migrations.RenameField( 14 | model_name="comment", old_name="comment", new_name="postcomment", 15 | ), 16 | migrations.RenameField( 17 | model_name="post", old_name="post", new_name="userpost", 18 | ), 19 | ] 20 | -------------------------------------------------------------------------------- /myapp/migrations/0004_userinfo_address_userinfo_dob_alter_comment_time_and_more.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 4.1.7 on 2023-04-22 12:14 2 | 3 | import datetime 4 | from django.db import migrations, models 5 | import django.utils.timezone 6 | 7 | 8 | class Migration(migrations.Migration): 9 | 10 | dependencies = [ 11 | ("myapp", "0003_rename_comment_comment_postcomment_and_more"), 12 | ] 13 | 14 | operations = [ 15 | migrations.AddField( 16 | model_name="userinfo", 17 | name="address", 18 | field=models.CharField(default=1, max_length=200), 19 | preserve_default=False, 20 | ), 21 | migrations.AddField( 22 | model_name="userinfo", 23 | name="dob", 24 | field=models.CharField(default=django.utils.timezone.now, max_length=200), 25 | preserve_default=False, 26 | ), 27 | migrations.AlterField( 28 | model_name="comment", 29 | name="time", 30 | field=models.DateTimeField( 31 | blank=True, default=datetime.datetime(2023, 4, 22, 17, 43, 44, 866459) 32 | ), 33 | ), 34 | migrations.AlterField( 35 | model_name="post", 36 | name="time", 37 | field=models.DateTimeField( 38 | blank=True, default=datetime.datetime(2023, 4, 22, 17, 43, 44, 865459) 39 | ), 40 | ), 41 | ] 42 | -------------------------------------------------------------------------------- /myapp/migrations/0005_alter_comment_time_alter_post_likes_alter_post_time.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 4.1.7 on 2023-04-22 12:16 2 | 3 | import datetime 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ("myapp", "0004_userinfo_address_userinfo_dob_alter_comment_time_and_more"), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name="comment", 16 | name="time", 17 | field=models.DateTimeField( 18 | blank=True, default=datetime.datetime(2023, 4, 22, 17, 46, 13, 961428) 19 | ), 20 | ), 21 | migrations.AlterField( 22 | model_name="post", 23 | name="likes", 24 | field=models.IntegerField(blank=True, default=0, null=True), 25 | ), 26 | migrations.AlterField( 27 | model_name="post", 28 | name="time", 29 | field=models.DateTimeField( 30 | blank=True, default=datetime.datetime(2023, 4, 22, 17, 46, 13, 961428) 31 | ), 32 | ), 33 | ] 34 | -------------------------------------------------------------------------------- /myapp/migrations/0006_alter_comment_time_alter_post_time.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 4.1.7 on 2023-04-22 12:17 2 | 3 | import datetime 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ("myapp", "0005_alter_comment_time_alter_post_likes_alter_post_time"), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name="comment", 16 | name="time", 17 | field=models.DateTimeField( 18 | blank=True, default=datetime.datetime(2023, 4, 22, 17, 47, 53, 666251) 19 | ), 20 | ), 21 | migrations.AlterField( 22 | model_name="post", 23 | name="time", 24 | field=models.DateTimeField( 25 | blank=True, default=datetime.datetime(2023, 4, 22, 17, 47, 53, 666251) 26 | ), 27 | ), 28 | ] 29 | -------------------------------------------------------------------------------- /myapp/migrations/0007_rename_postcomment_comment_post_and_more.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 4.1.7 on 2023-04-22 12:19 2 | 3 | import datetime 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ("myapp", "0006_alter_comment_time_alter_post_time"), 11 | ] 12 | 13 | operations = [ 14 | migrations.RenameField( 15 | model_name="comment", old_name="postcomment", new_name="post", 16 | ), 17 | migrations.RenameField( 18 | model_name="post", old_name="userpost", new_name="user", 19 | ), 20 | migrations.AlterField( 21 | model_name="comment", 22 | name="time", 23 | field=models.DateTimeField( 24 | blank=True, default=datetime.datetime(2023, 4, 22, 17, 49, 13, 782667) 25 | ), 26 | ), 27 | migrations.AlterField( 28 | model_name="post", 29 | name="time", 30 | field=models.DateTimeField( 31 | blank=True, default=datetime.datetime(2023, 4, 22, 17, 49, 13, 782667) 32 | ), 33 | ), 34 | ] 35 | -------------------------------------------------------------------------------- /myapp/migrations/0008_alter_comment_time_alter_post_time.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 4.1.7 on 2023-04-22 12:19 2 | 3 | import datetime 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ("myapp", "0007_rename_postcomment_comment_post_and_more"), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name="comment", 16 | name="time", 17 | field=models.DateTimeField( 18 | blank=True, default=datetime.datetime(2023, 4, 22, 17, 49, 35, 13510) 19 | ), 20 | ), 21 | migrations.AlterField( 22 | model_name="post", 23 | name="time", 24 | field=models.DateTimeField( 25 | blank=True, default=datetime.datetime(2023, 4, 22, 17, 49, 35, 12510) 26 | ), 27 | ), 28 | ] 29 | -------------------------------------------------------------------------------- /myapp/migrations/0009_alter_comment_time_alter_post_time.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 4.1.7 on 2023-04-22 13:35 2 | 3 | from django.db import migrations, models 4 | 5 | 6 | class Migration(migrations.Migration): 7 | 8 | dependencies = [ 9 | ("myapp", "0008_alter_comment_time_alter_post_time"), 10 | ] 11 | 12 | operations = [ 13 | migrations.AlterField( 14 | model_name="comment", 15 | name="time", 16 | field=models.CharField(blank=True, default="22 April 2023", max_length=100), 17 | ), 18 | migrations.AlterField( 19 | model_name="post", 20 | name="time", 21 | field=models.CharField(blank=True, default="22 April 2023", max_length=100), 22 | ), 23 | ] 24 | -------------------------------------------------------------------------------- /myapp/migrations/0010_comment_user_alter_comment_time_alter_post_time_and_more.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 4.1.7 on 2023-04-23 13:53 2 | 3 | from django.conf import settings 4 | from django.db import migrations, models 5 | import django.db.models.deletion 6 | 7 | 8 | class Migration(migrations.Migration): 9 | 10 | dependencies = [ 11 | migrations.swappable_dependency(settings.AUTH_USER_MODEL), 12 | ("myapp", "0009_alter_comment_time_alter_post_time"), 13 | ] 14 | 15 | operations = [ 16 | migrations.AddField( 17 | model_name="comment", 18 | name="user", 19 | field=models.ForeignKey( 20 | default=1, 21 | on_delete=django.db.models.deletion.CASCADE, 22 | to=settings.AUTH_USER_MODEL, 23 | ), 24 | preserve_default=False, 25 | ), 26 | migrations.AlterField( 27 | model_name="comment", 28 | name="time", 29 | field=models.CharField(blank=True, default="23 April 2023", max_length=100), 30 | ), 31 | migrations.AlterField( 32 | model_name="post", 33 | name="time", 34 | field=models.CharField(blank=True, default="23 April 2023", max_length=100), 35 | ), 36 | migrations.AlterField( 37 | model_name="userinfo", 38 | name="image", 39 | field=models.ImageField(blank=True, null=True, upload_to="images/profile"), 40 | ), 41 | ] 42 | -------------------------------------------------------------------------------- /myapp/migrations/0011_delete_userinfo.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 4.1.7 on 2023-04-23 14:23 2 | 3 | from django.db import migrations 4 | 5 | 6 | class Migration(migrations.Migration): 7 | 8 | dependencies = [ 9 | ("myapp", "0010_comment_user_alter_comment_time_alter_post_time_and_more"), 10 | ] 11 | 12 | operations = [ 13 | migrations.DeleteModel(name="UserInfo",), 14 | ] 15 | -------------------------------------------------------------------------------- /myapp/migrations/0012_alter_comment_time_alter_post_time.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 4.1.7 on 2023-05-09 16:18 2 | 3 | from django.db import migrations, models 4 | 5 | 6 | class Migration(migrations.Migration): 7 | 8 | dependencies = [ 9 | ("myapp", "0011_delete_userinfo"), 10 | ] 11 | 12 | operations = [ 13 | migrations.AlterField( 14 | model_name="comment", 15 | name="time", 16 | field=models.CharField(blank=True, default="09 May 2023", max_length=100), 17 | ), 18 | migrations.AlterField( 19 | model_name="post", 20 | name="time", 21 | field=models.CharField(blank=True, default="09 May 2023", max_length=100), 22 | ), 23 | ] 24 | -------------------------------------------------------------------------------- /myapp/migrations/0013_alter_comment_time_alter_post_time.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 4.2.4 on 2023-09-03 11:43 2 | 3 | from django.db import migrations, models 4 | 5 | 6 | class Migration(migrations.Migration): 7 | 8 | dependencies = [ 9 | ('myapp', '0012_alter_comment_time_alter_post_time'), 10 | ] 11 | 12 | operations = [ 13 | migrations.AlterField( 14 | model_name='comment', 15 | name='time', 16 | field=models.CharField(blank=True, default='03 September 2023', max_length=100), 17 | ), 18 | migrations.AlterField( 19 | model_name='post', 20 | name='time', 21 | field=models.CharField(blank=True, default='03 September 2023', max_length=100), 22 | ), 23 | ] 24 | -------------------------------------------------------------------------------- /myapp/migrations/0014_contact.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 4.2.4 on 2023-09-03 17:00 2 | 3 | from django.db import migrations, models 4 | 5 | 6 | class Migration(migrations.Migration): 7 | 8 | dependencies = [ 9 | ('myapp', '0013_alter_comment_time_alter_post_time'), 10 | ] 11 | 12 | operations = [ 13 | migrations.CreateModel( 14 | name='Contact', 15 | fields=[ 16 | ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 17 | ('name', models.CharField(max_length=600)), 18 | ('email', models.EmailField(max_length=600)), 19 | ('subject', models.CharField(max_length=1000)), 20 | ('message', models.CharField(blank=True, max_length=10000)), 21 | ], 22 | ), 23 | ] 24 | -------------------------------------------------------------------------------- /myapp/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/migrations/__init__.py -------------------------------------------------------------------------------- /myapp/migrations/__pycache__/0001_initial.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/migrations/__pycache__/0001_initial.cpython-311.pyc -------------------------------------------------------------------------------- /myapp/migrations/__pycache__/0001_initial.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/migrations/__pycache__/0001_initial.cpython-38.pyc -------------------------------------------------------------------------------- /myapp/migrations/__pycache__/0002_rename_username_post_post_remove_comment_username_and_more.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/migrations/__pycache__/0002_rename_username_post_post_remove_comment_username_and_more.cpython-311.pyc -------------------------------------------------------------------------------- /myapp/migrations/__pycache__/0002_rename_username_post_post_remove_comment_username_and_more.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/migrations/__pycache__/0002_rename_username_post_post_remove_comment_username_and_more.cpython-38.pyc -------------------------------------------------------------------------------- /myapp/migrations/__pycache__/0003_rename_comment_comment_postcomment_and_more.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/migrations/__pycache__/0003_rename_comment_comment_postcomment_and_more.cpython-311.pyc -------------------------------------------------------------------------------- /myapp/migrations/__pycache__/0003_rename_comment_comment_postcomment_and_more.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/migrations/__pycache__/0003_rename_comment_comment_postcomment_and_more.cpython-38.pyc -------------------------------------------------------------------------------- /myapp/migrations/__pycache__/0004_userinfo_address_userinfo_dob_alter_comment_time_and_more.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/migrations/__pycache__/0004_userinfo_address_userinfo_dob_alter_comment_time_and_more.cpython-311.pyc -------------------------------------------------------------------------------- /myapp/migrations/__pycache__/0004_userinfo_address_userinfo_dob_alter_comment_time_and_more.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/migrations/__pycache__/0004_userinfo_address_userinfo_dob_alter_comment_time_and_more.cpython-38.pyc -------------------------------------------------------------------------------- /myapp/migrations/__pycache__/0005_alter_comment_time_alter_post_likes_alter_post_time.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/migrations/__pycache__/0005_alter_comment_time_alter_post_likes_alter_post_time.cpython-311.pyc -------------------------------------------------------------------------------- /myapp/migrations/__pycache__/0005_alter_comment_time_alter_post_likes_alter_post_time.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/migrations/__pycache__/0005_alter_comment_time_alter_post_likes_alter_post_time.cpython-38.pyc -------------------------------------------------------------------------------- /myapp/migrations/__pycache__/0006_alter_comment_time_alter_post_time.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/migrations/__pycache__/0006_alter_comment_time_alter_post_time.cpython-311.pyc -------------------------------------------------------------------------------- /myapp/migrations/__pycache__/0006_alter_comment_time_alter_post_time.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/migrations/__pycache__/0006_alter_comment_time_alter_post_time.cpython-38.pyc -------------------------------------------------------------------------------- /myapp/migrations/__pycache__/0007_rename_postcomment_comment_post_and_more.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/migrations/__pycache__/0007_rename_postcomment_comment_post_and_more.cpython-311.pyc -------------------------------------------------------------------------------- /myapp/migrations/__pycache__/0007_rename_postcomment_comment_post_and_more.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/migrations/__pycache__/0007_rename_postcomment_comment_post_and_more.cpython-38.pyc -------------------------------------------------------------------------------- /myapp/migrations/__pycache__/0008_alter_comment_time_alter_post_time.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/migrations/__pycache__/0008_alter_comment_time_alter_post_time.cpython-311.pyc -------------------------------------------------------------------------------- /myapp/migrations/__pycache__/0008_alter_comment_time_alter_post_time.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/migrations/__pycache__/0008_alter_comment_time_alter_post_time.cpython-38.pyc -------------------------------------------------------------------------------- /myapp/migrations/__pycache__/0009_alter_comment_time_alter_post_time.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/migrations/__pycache__/0009_alter_comment_time_alter_post_time.cpython-311.pyc -------------------------------------------------------------------------------- /myapp/migrations/__pycache__/0009_alter_comment_time_alter_post_time.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/migrations/__pycache__/0009_alter_comment_time_alter_post_time.cpython-38.pyc -------------------------------------------------------------------------------- /myapp/migrations/__pycache__/0010_comment_user_alter_comment_time_alter_post_time_and_more.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/migrations/__pycache__/0010_comment_user_alter_comment_time_alter_post_time_and_more.cpython-311.pyc -------------------------------------------------------------------------------- /myapp/migrations/__pycache__/0010_comment_user_alter_comment_time_alter_post_time_and_more.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/migrations/__pycache__/0010_comment_user_alter_comment_time_alter_post_time_and_more.cpython-38.pyc -------------------------------------------------------------------------------- /myapp/migrations/__pycache__/0011_delete_userinfo.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/migrations/__pycache__/0011_delete_userinfo.cpython-311.pyc -------------------------------------------------------------------------------- /myapp/migrations/__pycache__/0011_delete_userinfo.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/migrations/__pycache__/0011_delete_userinfo.cpython-38.pyc -------------------------------------------------------------------------------- /myapp/migrations/__pycache__/0012_alter_comment_time_alter_post_time.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/migrations/__pycache__/0012_alter_comment_time_alter_post_time.cpython-311.pyc -------------------------------------------------------------------------------- /myapp/migrations/__pycache__/0012_alter_comment_time_alter_post_time.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/migrations/__pycache__/0012_alter_comment_time_alter_post_time.cpython-38.pyc -------------------------------------------------------------------------------- /myapp/migrations/__pycache__/0013_alter_comment_time_alter_post_time.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/migrations/__pycache__/0013_alter_comment_time_alter_post_time.cpython-311.pyc -------------------------------------------------------------------------------- /myapp/migrations/__pycache__/0014_contact.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/migrations/__pycache__/0014_contact.cpython-311.pyc -------------------------------------------------------------------------------- /myapp/migrations/__pycache__/__init__.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/migrations/__pycache__/__init__.cpython-311.pyc -------------------------------------------------------------------------------- /myapp/migrations/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myapp/migrations/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /myapp/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | from django.contrib.auth.models import User 3 | from datetime import datetime 4 | 5 | now = datetime.now() 6 | time = now.strftime("%d %B %Y") 7 | # Create your models here. 8 | 9 | 10 | class Post(models.Model): 11 | postname = models.CharField(max_length=600) 12 | category = models.CharField(max_length=600) 13 | image = models.ImageField(upload_to='images/posts',blank=True,null=True) 14 | content = models.CharField(max_length=100000) 15 | time = models.CharField(default=time,max_length=100, blank=True) 16 | likes = models.IntegerField(null=True,blank=True,default=0) 17 | user = models.ForeignKey(User,on_delete=models.CASCADE) 18 | 19 | def __str__(self): 20 | return str( self.postname) 21 | 22 | 23 | class Comment(models.Model): 24 | content = models.CharField(max_length=200) 25 | time = models.CharField(default=time,max_length=100, blank=True) 26 | post = models.ForeignKey(Post,on_delete=models.CASCADE) 27 | user = models.ForeignKey(User,on_delete=models.CASCADE) 28 | def __str__(self): 29 | return f"{self.id}.{self.content[:20]}..." 30 | 31 | 32 | 33 | class Contact(models.Model): 34 | name = models.CharField(max_length=600) 35 | email = models.EmailField(max_length=600) 36 | subject = models.CharField(max_length=1000) 37 | message = models.CharField(max_length=10000, blank=True) -------------------------------------------------------------------------------- /myapp/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /myapp/urls.py: -------------------------------------------------------------------------------- 1 | from . import views 2 | from django.urls import path 3 | 4 | urlpatterns = [ 5 | path("",views.index,name="index"), 6 | path("blog",views.blog,name="blog"), 7 | path("signin",views.signin,name="signin"), 8 | path("signup",views.signup,name="signup"), 9 | path("logout",views.logout,name="logout"), 10 | path("create",views.create,name="create"), 11 | path("increaselikes/",views.increaselikes,name='increaselikes'), 12 | path("profile/",views.profile,name='profile'), 13 | path("profile/edit/",views.profileedit,name='profileedit'), 14 | path("post/",views.post,name="post"), 15 | path("post/comment/",views.savecomment,name="savecomment"), 16 | path("post/comment/delete/",views.deletecomment,name="deletecomment"), 17 | path("post/edit/",views.editpost,name="editpost"), 18 | path("post/delete/",views.deletepost,name="deletepost"), 19 | path("contact",views.contact_us,name="contact"), 20 | ] 21 | -------------------------------------------------------------------------------- /myapp/views.py: -------------------------------------------------------------------------------- 1 | from django.shortcuts import render,redirect 2 | from django.contrib.auth.models import User,auth 3 | from django.contrib.auth import authenticate 4 | from django.contrib import messages 5 | from django.contrib.auth.decorators import login_required 6 | from django.conf import settings 7 | from .models import * 8 | 9 | from .models import Comment,Post 10 | # Create your views here. 11 | def index(request): 12 | return render(request,"index.html",{ 13 | 'posts':Post.objects.filter(user_id=request.user.id).order_by("id").reverse(), 14 | 'top_posts':Post.objects.all().order_by("-likes"), 15 | 'recent_posts':Post.objects.all().order_by("-id"), 16 | 'user':request.user, 17 | 'media_url':settings.MEDIA_URL 18 | }) 19 | 20 | 21 | def signup(request): 22 | if request.method == 'POST': 23 | username = request.POST['username'] 24 | email = request.POST['email'] 25 | password = request.POST['password'] 26 | password2 = request.POST['password2'] 27 | 28 | if password == password2: 29 | if User.objects.filter(username=username).exists(): 30 | messages.info(request,"Username already Exists") 31 | return redirect('signup') 32 | if User.objects.filter(email=email).exists(): 33 | messages.info(request,"Email already Exists") 34 | return redirect('signup') 35 | else: 36 | User.objects.create_user(username=username,email=email,password=password).save() 37 | return redirect('signin') 38 | else: 39 | messages.info(request,"Password should match") 40 | return redirect('signup') 41 | 42 | return render(request,"signup.html") 43 | 44 | def signin(request): 45 | if request.method == 'POST': 46 | username = request.POST['username'] 47 | password = request.POST['password'] 48 | user = authenticate(request,username=username,password=password) 49 | if user is not None: 50 | auth.login(request,user) 51 | return redirect("index") 52 | else: 53 | messages.info(request,'Username or Password is incorrect') 54 | return redirect("signin") 55 | 56 | return render(request,"signin.html") 57 | 58 | def logout(request): 59 | auth.logout(request) 60 | return redirect('index') 61 | 62 | def blog(request): 63 | return render(request,"blog.html",{ 64 | 'posts':Post.objects.filter(user_id=request.user.id).order_by("id").reverse(), 65 | 'top_posts':Post.objects.all().order_by("-likes"), 66 | 'recent_posts':Post.objects.all().order_by("-id"), 67 | 'user':request.user, 68 | 'media_url':settings.MEDIA_URL 69 | }) 70 | 71 | def create(request): 72 | if request.method == 'POST': 73 | try: 74 | postname = request.POST['postname'] 75 | content = request.POST['content'] 76 | category = request.POST['category'] 77 | image = request.FILES['image'] 78 | Post(postname=postname,content=content,category=category,image=image,user=request.user).save() 79 | except: 80 | print("Error") 81 | return redirect('index') 82 | else: 83 | return render(request,"create.html") 84 | 85 | def profile(request,id): 86 | 87 | return render(request,'profile.html',{ 88 | 'user':User.objects.get(id=id), 89 | 'posts':Post.objects.all(), 90 | 'media_url':settings.MEDIA_URL, 91 | }) 92 | 93 | 94 | def profileedit(request,id): 95 | if request.method == 'POST': 96 | firstname = request.POST['firstname'] 97 | lastname = request.POST['lastname'] 98 | email = request.POST['email'] 99 | 100 | user = User.objects.get(id=id) 101 | user.first_name = firstname 102 | user.email = email 103 | user.last_name = lastname 104 | user.save() 105 | return profile(request,id) 106 | return render(request,"profileedit.html",{ 107 | 'user':User.objects.get(id=id), 108 | }) 109 | 110 | def increaselikes(request,id): 111 | if request.method == 'POST': 112 | post = Post.objects.get(id=id) 113 | post.likes += 1 114 | post.save() 115 | return redirect("index") 116 | 117 | 118 | def post(request,id): 119 | post = Post.objects.get(id=id) 120 | 121 | return render(request,"post-details.html",{ 122 | "user":request.user, 123 | 'post':Post.objects.get(id=id), 124 | 'recent_posts':Post.objects.all().order_by("-id"), 125 | 'media_url':settings.MEDIA_URL, 126 | 'comments':Comment.objects.filter(post_id = post.id), 127 | 'total_comments': len(Comment.objects.filter(post_id = post.id)) 128 | }) 129 | 130 | def savecomment(request,id): 131 | post = Post.objects.get(id=id) 132 | if request.method == 'POST': 133 | content = request.POST['message'] 134 | Comment(post_id = post.id,user_id = request.user.id, content = content).save() 135 | return redirect("index") 136 | 137 | def deletecomment(request,id): 138 | comment = Comment.objects.get(id=id) 139 | postid = comment.post.id 140 | comment.delete() 141 | return post(request,postid) 142 | 143 | def editpost(request,id): 144 | post = Post.objects.get(id=id) 145 | if request.method == 'POST': 146 | try: 147 | postname = request.POST['postname'] 148 | content = request.POST['content'] 149 | category = request.POST['category'] 150 | 151 | post.postname = postname 152 | post.content = content 153 | post.category = category 154 | post.save() 155 | except: 156 | print("Error") 157 | return profile(request,request.user.id) 158 | 159 | return render(request,"postedit.html",{ 160 | 'post':post 161 | }) 162 | 163 | def deletepost(request,id): 164 | Post.objects.get(id=id).delete() 165 | return profile(request,request.user.id) 166 | 167 | 168 | def contact_us(request): 169 | context={} 170 | if request.method == 'POST': 171 | name=request.POST.get('name') 172 | email=request.POST.get('email') 173 | subject=request.POST.get('subject') 174 | message=request.POST.get('message') 175 | 176 | obj = Contact(name=name,email=email,subject=subject,message=message) 177 | obj.save() 178 | context['message']=f"Dear {name}, Thanks for your time!" 179 | 180 | return render(request,"contact.html") 181 | -------------------------------------------------------------------------------- /myproject/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myproject/__init__.py -------------------------------------------------------------------------------- /myproject/__pycache__/__init__.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myproject/__pycache__/__init__.cpython-311.pyc -------------------------------------------------------------------------------- /myproject/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myproject/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /myproject/__pycache__/settings.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myproject/__pycache__/settings.cpython-311.pyc -------------------------------------------------------------------------------- /myproject/__pycache__/settings.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myproject/__pycache__/settings.cpython-38.pyc -------------------------------------------------------------------------------- /myproject/__pycache__/urls.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myproject/__pycache__/urls.cpython-311.pyc -------------------------------------------------------------------------------- /myproject/__pycache__/urls.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myproject/__pycache__/urls.cpython-38.pyc -------------------------------------------------------------------------------- /myproject/__pycache__/wsgi.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myproject/__pycache__/wsgi.cpython-311.pyc -------------------------------------------------------------------------------- /myproject/__pycache__/wsgi.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/myproject/__pycache__/wsgi.cpython-38.pyc -------------------------------------------------------------------------------- /myproject/asgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | ASGI config for myproject project. 3 | 4 | It exposes the ASGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/4.2/howto/deployment/asgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.asgi import get_asgi_application 13 | 14 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings") 15 | 16 | application = get_asgi_application() 17 | -------------------------------------------------------------------------------- /myproject/settings.py: -------------------------------------------------------------------------------- 1 | """ 2 | Django settings for myproject project. 3 | 4 | Generated by 'django-admin startproject' using Django 4.2. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/4.2/topics/settings/ 8 | 9 | For the full list of settings and their values, see 10 | https://docs.djangoproject.com/en/4.2/ref/settings/ 11 | """ 12 | 13 | from pathlib import Path 14 | import os 15 | # Build paths inside the project like this: BASE_DIR / 'subdir'. 16 | BASE_DIR = Path(__file__).resolve().parent.parent 17 | TEMP_DIR = os.path.join(BASE_DIR,"templates") 18 | STATIC_DIR = os.path.join(BASE_DIR,"static") 19 | MEDIA_DIR = os.path.join(BASE_DIR,"media") 20 | # Quick-start development settings - unsuitable for production 21 | # See https://docs.djangoproject.com/en/4.2/howto/deployment/checklist/ 22 | 23 | # SECURITY WARNING: keep the secret key used in production secret! 24 | SECRET_KEY = "django-insecure-s0eg9q5^i%wy4n5m78yvbpwkb3j3u)w8nx=pr&c6+ag8ltvs5t" 25 | 26 | # SECURITY WARNING: don't run with debug turned on in production! 27 | DEBUG = True 28 | 29 | ALLOWED_HOSTS = ['*'] 30 | 31 | 32 | # Application definition 33 | 34 | INSTALLED_APPS = [ 35 | "django.contrib.admin", 36 | "django.contrib.auth", 37 | "django.contrib.contenttypes", 38 | "django.contrib.sessions", 39 | "django.contrib.messages", 40 | "django.contrib.staticfiles", 41 | "myapp" 42 | ] 43 | 44 | MIDDLEWARE = [ 45 | "django.middleware.security.SecurityMiddleware", 46 | "django.contrib.sessions.middleware.SessionMiddleware", 47 | "django.middleware.common.CommonMiddleware", 48 | "django.middleware.csrf.CsrfViewMiddleware", 49 | "django.contrib.auth.middleware.AuthenticationMiddleware", 50 | "django.contrib.messages.middleware.MessageMiddleware", 51 | "django.middleware.clickjacking.XFrameOptionsMiddleware", 52 | ] 53 | 54 | ROOT_URLCONF = "myproject.urls" 55 | 56 | TEMPLATES = [ 57 | { 58 | "BACKEND": "django.template.backends.django.DjangoTemplates", 59 | "DIRS": [TEMP_DIR], 60 | "APP_DIRS": True, 61 | "OPTIONS": { 62 | "context_processors": [ 63 | "django.template.context_processors.debug", 64 | "django.template.context_processors.request", 65 | "django.contrib.auth.context_processors.auth", 66 | "django.contrib.messages.context_processors.messages", 67 | ], 68 | }, 69 | }, 70 | ] 71 | 72 | WSGI_APPLICATION = "myproject.wsgi.application" 73 | 74 | 75 | # Database 76 | # https://docs.djangoproject.com/en/4.2/ref/settings/#databases 77 | 78 | DATABASES = { 79 | "default": { 80 | "ENGINE": "django.db.backends.sqlite3", 81 | "NAME": BASE_DIR / "db.sqlite3", 82 | } 83 | } 84 | 85 | 86 | # Password validation 87 | # https://docs.djangoproject.com/en/4.2/ref/settings/#auth-password-validators 88 | 89 | AUTH_PASSWORD_VALIDATORS = [ 90 | { 91 | "NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator", 92 | }, 93 | {"NAME": "django.contrib.auth.password_validation.MinimumLengthValidator",}, 94 | {"NAME": "django.contrib.auth.password_validation.CommonPasswordValidator",}, 95 | {"NAME": "django.contrib.auth.password_validation.NumericPasswordValidator",}, 96 | ] 97 | 98 | 99 | # Internationalization 100 | # https://docs.djangoproject.com/en/4.2/topics/i18n/ 101 | 102 | LANGUAGE_CODE = "en-us" 103 | 104 | TIME_ZONE = "UTC" 105 | 106 | USE_I18N = True 107 | 108 | USE_TZ = True 109 | 110 | 111 | # Static files (CSS, JavaScript, Images) 112 | # https://docs.djangoproject.com/en/4.2/howto/static-files/ 113 | 114 | STATIC_URL = "static/" 115 | STATICFILES_DIRS = [STATIC_DIR] 116 | MEDIA_URL = "media/" 117 | MEDIA_ROOT = MEDIA_DIR 118 | # Default primary key field type 119 | # https://docs.djangoproject.com/en/4.2/ref/settings/#default-auto-field 120 | 121 | DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField" 122 | -------------------------------------------------------------------------------- /myproject/urls.py: -------------------------------------------------------------------------------- 1 | """ 2 | URL configuration for myproject project. 3 | 4 | The `urlpatterns` list routes URLs to views. For more information please see: 5 | https://docs.djangoproject.com/en/4.2/topics/http/urls/ 6 | Examples: 7 | Function views 8 | 1. Add an import: from my_app import views 9 | 2. Add a URL to urlpatterns: path('', views.home, name='home') 10 | Class-based views 11 | 1. Add an import: from other_app.views import Home 12 | 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') 13 | Including another URLconf 14 | 1. Import the include() function: from django.urls import include, path 15 | 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) 16 | """ 17 | from django.contrib import admin 18 | from django.urls import path,include 19 | from django.conf import settings 20 | from django.conf.urls.static import static 21 | 22 | 23 | urlpatterns = [ 24 | path("admin/", admin.site.urls), 25 | path("",include("myapp.urls")) 26 | ] 27 | 28 | urlpatterns += static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT) -------------------------------------------------------------------------------- /myproject/wsgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | WSGI config for myproject project. 3 | 4 | It exposes the WSGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/4.2/howto/deployment/wsgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.wsgi import get_wsgi_application 13 | 14 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings") 15 | 16 | application = get_wsgi_application() 17 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 |
2 | 3 |

Python Django Blog Website

4 | 5 | 6 | A Blog application in Django contains all the features of a Blog site like login/register into the system, add blog post with title, description and image and edit or delete the blog post. 7 | 8 | 9 | ➥ Live Demo 10 | 11 |
12 | 13 |
14 | 15 | ## 📃 Description 16 | 17 | 18 | Creating A Blog In Django has interactive UI design using which users can see what others are posting. It also has an admin panel through which all the blog posts and users can be managed. 19 | 20 |
21 |
22 | 23 | ![1](PREVIEW/IMG1.png) 24 | ![2](PREVIEW/IMG2.png) 25 | ![3](PREVIEW/IMG3.png) 26 | ![4](PREVIEW/IMG4.png) 27 | ![5](PREVIEW/IMG5.png) 28 |
29 | 30 | 31 | ## Features 32 | 33 | - **Manage Blog** :– In this feature includes the CRUD operation in a blog or content you create like adding, editing and deleting content of the blog 34 | - **Login System** :- In this feature the admin can login to the system and manage all the feature of the system. 35 | - **Blog** :- In this method which is the main method of the system. 36 | - **Media** :- In this method which you can found all the media that you are upload in the system. 37 | - **Template** :- In this method which is the design of the system that consist of HTML,CSS and JavaScript. 38 | 39 | 40 | 41 | ## 🚀 Setup/Installation Requirements 42 | 43 | To view the website, 44 | * click [Python Django Blog Website](https://github.com/keerti1924/Python-Django-Blog-Website.git) 45 | or 46 | * copy the link https://github.com/keerti1924/Python-Django-Blog-Website.git paste it to your browser and load it. 47 | 48 | ## 🛠 Built With 49 | 50 | * HTML 51 | * CSS 52 | * JAVASCRIPT 53 | * PYTHON 54 | * DJANGO 55 | * DATABASE 56 | 57 | The system is built fully in Django Framework in back-end and HTML, CSS in front-end. It has full-featured user interface with all the functionalities 58 | 59 | 60 | ## ⭐️ Show your support 61 | 62 | Give a ⭐️ if you like this project! 63 | 64 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | asgiref 2 | django 3 | Pillow 4 | sqlparse 5 | tzdata 6 | -------------------------------------------------------------------------------- /static/assets/css/flex-slider.css: -------------------------------------------------------------------------------- 1 | /* 2 | * jQuery FlexSlider v2.7.1 3 | * http://www.woothemes.com/flexslider/ 4 | * 5 | * Copyright 2012 WooThemes 6 | * Free to use under the GPLv2 and later license. 7 | * http://www.gnu.org/licenses/gpl-2.0.html 8 | * 9 | * Contributing author: Tyler Smith (@mbmufffin) 10 | * 11 | */ 12 | /* ==================================================================================================================== 13 | * FONT-FACE 14 | * ====================================================================================================================*/ 15 | @font-face { 16 | font-family: 'flexslider-icon'; 17 | src: url('../fonts/flexslider-icon.eot'); 18 | src: url('../fonts/flexslider-icon.eot?#iefix') format('embedded-opentype'), url('../fonts/flexslider-icon.woff') format('woff'), url('../fonts/flexslider-icon.ttf') format('truetype'), url('../fonts/flexslider-icon.svg#flexslider-icon') format('svg'); 19 | font-weight: normal; 20 | font-style: normal; 21 | } 22 | /* ==================================================================================================================== 23 | * RESETS 24 | * ====================================================================================================================*/ 25 | .flex-container a:hover, 26 | .flex-slider a:hover { 27 | outline: none; 28 | } 29 | .slides, 30 | .slides > li, 31 | .flex-control-nav, 32 | .flex-direction-nav { 33 | margin: 0; 34 | padding: 0; 35 | list-style: none; 36 | } 37 | .flex-pauseplay span { 38 | text-transform: capitalize; 39 | } 40 | /* ==================================================================================================================== 41 | * BASE STYLES 42 | * ====================================================================================================================*/ 43 | .flexslider { 44 | margin: 0; 45 | padding: 0; 46 | } 47 | .flexslider .slides > li { 48 | display: none; 49 | -webkit-backface-visibility: hidden; 50 | } 51 | .flexslider .slides img { 52 | width: 100%; 53 | display: block; 54 | } 55 | .flexslider .slides:after { 56 | content: "\0020"; 57 | display: block; 58 | clear: both; 59 | visibility: hidden; 60 | line-height: 0; 61 | height: 0; 62 | } 63 | html[xmlns] .flexslider .slides { 64 | display: block; 65 | } 66 | * html .flexslider .slides { 67 | height: 1%; 68 | } 69 | .no-js .flexslider .slides > li:first-child { 70 | display: block; 71 | } 72 | /* ==================================================================================================================== 73 | * DEFAULT THEME 74 | * ====================================================================================================================*/ 75 | .flexslider { 76 | margin: 0; 77 | background: #fff; 78 | border: 4px solid #fff; 79 | position: relative; 80 | zoom: 1; 81 | -webkit-border-radius: 4px; 82 | -moz-border-radius: 4px; 83 | border-radius: 4px; 84 | -webkit-box-shadow: '' 0 1px 4px rgba(0, 0, 0, 0.2); 85 | -moz-box-shadow: '' 0 1px 4px rgba(0, 0, 0, 0.2); 86 | -o-box-shadow: '' 0 1px 4px rgba(0, 0, 0, 0.2); 87 | box-shadow: '' 0 1px 4px rgba(0, 0, 0, 0.2); 88 | } 89 | .flexslider .slides { 90 | zoom: 1; 91 | } 92 | .flexslider .slides img { 93 | height: auto; 94 | -moz-user-select: none; 95 | } 96 | .flex-viewport { 97 | max-height: 2000px; 98 | -webkit-transition: all 1s ease; 99 | -moz-transition: all 1s ease; 100 | -ms-transition: all 1s ease; 101 | -o-transition: all 1s ease; 102 | transition: all 1s ease; 103 | } 104 | .loading .flex-viewport { 105 | max-height: 300px; 106 | } 107 | @-moz-document url-prefix() { 108 | .loading .flex-viewport { 109 | max-height: none; 110 | } 111 | } 112 | .carousel li { 113 | margin-right: 5px; 114 | } 115 | .flex-direction-nav { 116 | *height: 0; 117 | } 118 | .flex-direction-nav a { 119 | text-decoration: none; 120 | display: block; 121 | width: 40px; 122 | height: 40px; 123 | line-height: 40px; 124 | margin: -20px 0 0; 125 | position: absolute; 126 | top: 50%; 127 | z-index: 10; 128 | overflow: hidden; 129 | opacity: 0; 130 | cursor: pointer; 131 | color: rgba(0, 0, 0, 0.8); 132 | text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3); 133 | -webkit-transition: all 0.3s ease-in-out; 134 | -moz-transition: all 0.3s ease-in-out; 135 | -ms-transition: all 0.3s ease-in-out; 136 | -o-transition: all 0.3s ease-in-out; 137 | transition: all 0.3s ease-in-out; 138 | } 139 | .flex-direction-nav a:before { 140 | font-family: "flexslider-icon"; 141 | font-size: 26px; 142 | display: inline-block; 143 | content: '\f001'; 144 | color: rgba(0, 0, 0, 0.8); 145 | text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3); 146 | } 147 | .flex-direction-nav a.flex-next:before { 148 | content: '\f002'; 149 | } 150 | .flex-direction-nav .flex-prev { 151 | left: -50px; 152 | } 153 | .flex-direction-nav .flex-next { 154 | right: -50px; 155 | text-align: right; 156 | } 157 | .flexslider:hover .flex-direction-nav .flex-prev { 158 | opacity: 0.7; 159 | left: 10px; 160 | } 161 | .flexslider:hover .flex-direction-nav .flex-prev:hover { 162 | opacity: 1; 163 | } 164 | .flexslider:hover .flex-direction-nav .flex-next { 165 | opacity: 0.7; 166 | right: 10px; 167 | } 168 | .flexslider:hover .flex-direction-nav .flex-next:hover { 169 | opacity: 1; 170 | } 171 | .flex-direction-nav .flex-disabled { 172 | opacity: 0!important; 173 | filter: alpha(opacity=0); 174 | cursor: default; 175 | z-index: -1; 176 | } 177 | .flex-pauseplay a { 178 | display: block; 179 | width: 20px; 180 | height: 20px; 181 | position: absolute; 182 | bottom: 5px; 183 | left: 10px; 184 | opacity: 0.8; 185 | z-index: 10; 186 | overflow: hidden; 187 | cursor: pointer; 188 | color: #000; 189 | } 190 | .flex-pauseplay a:before { 191 | font-family: "flexslider-icon"; 192 | font-size: 20px; 193 | display: inline-block; 194 | content: '\f004'; 195 | } 196 | .flex-pauseplay a:hover { 197 | opacity: 1; 198 | } 199 | .flex-pauseplay a.flex-play:before { 200 | content: '\f003'; 201 | } 202 | .flex-control-nav { 203 | width: 100%; 204 | position: absolute; 205 | bottom: -40px; 206 | text-align: center; 207 | } 208 | .flex-control-nav li { 209 | margin: 0 6px; 210 | display: inline-block; 211 | zoom: 1; 212 | *display: inline; 213 | } 214 | .flex-control-paging li a { 215 | width: 11px; 216 | height: 11px; 217 | display: block; 218 | background: #666; 219 | background: rgba(0, 0, 0, 0.5); 220 | cursor: pointer; 221 | text-indent: -9999px; 222 | -webkit-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3); 223 | -moz-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3); 224 | -o-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3); 225 | box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3); 226 | -webkit-border-radius: 20px; 227 | -moz-border-radius: 20px; 228 | border-radius: 20px; 229 | } 230 | .flex-control-paging li a:hover { 231 | background: #333; 232 | background: rgba(0, 0, 0, 0.7); 233 | } 234 | .flex-control-paging li a.flex-active { 235 | background: #000; 236 | background: rgba(0, 0, 0, 0.9); 237 | cursor: default; 238 | } 239 | .flex-control-thumbs { 240 | margin: 5px 0 0; 241 | position: static; 242 | overflow: hidden; 243 | } 244 | .flex-control-thumbs li { 245 | width: 25%; 246 | float: left; 247 | margin: 0; 248 | } 249 | .flex-control-thumbs img { 250 | width: 100%; 251 | height: auto; 252 | display: block; 253 | opacity: .7; 254 | cursor: pointer; 255 | -moz-user-select: none; 256 | -webkit-transition: all 1s ease; 257 | -moz-transition: all 1s ease; 258 | -ms-transition: all 1s ease; 259 | -o-transition: all 1s ease; 260 | transition: all 1s ease; 261 | } 262 | .flex-control-thumbs img:hover { 263 | opacity: 1; 264 | } 265 | .flex-control-thumbs .flex-active { 266 | opacity: 1; 267 | cursor: default; 268 | } 269 | /* ==================================================================================================================== 270 | * RESPONSIVE 271 | * ====================================================================================================================*/ 272 | @media screen and (max-width: 860px) { 273 | .flex-direction-nav .flex-prev { 274 | opacity: 1; 275 | left: 10px; 276 | } 277 | .flex-direction-nav .flex-next { 278 | opacity: 1; 279 | right: 10px; 280 | } 281 | } 282 | -------------------------------------------------------------------------------- /static/assets/css/fontawesome.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.3.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.3.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.3.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.3.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.3.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0)}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-genderless:before,.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"} -------------------------------------------------------------------------------- /static/assets/css/owl.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Owl Carousel v2.3.4 3 | * Copyright 2013-2018 David Deutsch 4 | * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE 5 | */ 6 | /* 7 | * Owl Carousel - Core 8 | */ 9 | .owl-carousel { 10 | display: none; 11 | width: 100%; 12 | -webkit-tap-highlight-color: transparent; 13 | /* position relative and z-index fix webkit rendering fonts issue */ 14 | position: relative; 15 | z-index: 1; } 16 | .owl-carousel .owl-stage { 17 | position: relative; 18 | -ms-touch-action: pan-Y; 19 | touch-action: manipulation; 20 | -moz-backface-visibility: hidden; 21 | /* fix firefox animation glitch */ } 22 | .owl-carousel .owl-stage:after { 23 | content: "."; 24 | display: block; 25 | clear: both; 26 | visibility: hidden; 27 | line-height: 0; 28 | height: 0; } 29 | .owl-carousel .owl-stage-outer { 30 | position: relative; 31 | overflow: hidden; 32 | /* fix for flashing background */ 33 | -webkit-transform: translate3d(0px, 0px, 0px); } 34 | .owl-carousel .owl-wrapper, 35 | .owl-carousel .owl-item { 36 | -webkit-backface-visibility: hidden; 37 | -moz-backface-visibility: hidden; 38 | -ms-backface-visibility: hidden; 39 | -webkit-transform: translate3d(0, 0, 0); 40 | -moz-transform: translate3d(0, 0, 0); 41 | -ms-transform: translate3d(0, 0, 0); } 42 | .owl-carousel .owl-item { 43 | position: relative; 44 | min-height: 1px; 45 | float: left; 46 | -webkit-backface-visibility: hidden; 47 | -webkit-tap-highlight-color: transparent; 48 | -webkit-touch-callout: none; } 49 | .owl-carousel .owl-item img { 50 | display: block; 51 | width: 100%; } 52 | .owl-carousel .owl-nav.disabled, 53 | .owl-carousel .owl-dots.disabled { 54 | display: none; } 55 | .owl-carousel .owl-nav .owl-prev, 56 | .owl-carousel .owl-nav .owl-next, 57 | .owl-carousel .owl-dot { 58 | cursor: pointer; 59 | -webkit-user-select: none; 60 | -khtml-user-select: none; 61 | -moz-user-select: none; 62 | -ms-user-select: none; 63 | user-select: none; } 64 | .owl-carousel .owl-nav button.owl-prev, 65 | .owl-carousel .owl-nav button.owl-next, 66 | .owl-carousel button.owl-dot { 67 | background: none; 68 | color: inherit; 69 | border: none; 70 | padding: 0 !important; 71 | font: inherit; } 72 | .owl-carousel.owl-loaded { 73 | display: block; } 74 | .owl-carousel.owl-loading { 75 | opacity: 0; 76 | display: block; } 77 | .owl-carousel.owl-hidden { 78 | opacity: 0; } 79 | .owl-carousel.owl-refresh .owl-item { 80 | visibility: hidden; } 81 | .owl-carousel.owl-drag .owl-item { 82 | -ms-touch-action: pan-y; 83 | touch-action: pan-y; 84 | -webkit-user-select: none; 85 | -moz-user-select: none; 86 | -ms-user-select: none; 87 | user-select: none; } 88 | .owl-carousel.owl-grab { 89 | cursor: move; 90 | cursor: grab; } 91 | .owl-carousel.owl-rtl { 92 | direction: rtl; } 93 | .owl-carousel.owl-rtl .owl-item { 94 | float: right; } 95 | 96 | /* No Js */ 97 | .no-js .owl-carousel { 98 | display: block; } 99 | 100 | /* 101 | * Owl Carousel - Animate Plugin 102 | */ 103 | .owl-carousel .animated { 104 | animation-duration: 1000ms; 105 | animation-fill-mode: both; } 106 | 107 | .owl-carousel .owl-animated-in { 108 | z-index: 0; } 109 | 110 | .owl-carousel .owl-animated-out { 111 | z-index: 1; } 112 | 113 | .owl-carousel .fadeOut { 114 | animation-name: fadeOut; } 115 | 116 | @keyframes fadeOut { 117 | 0% { 118 | opacity: 1; } 119 | 100% { 120 | opacity: 0; } } 121 | 122 | /* 123 | * Owl Carousel - Auto Height Plugin 124 | */ 125 | .owl-height { 126 | transition: height 500ms ease-in-out; } 127 | 128 | /* 129 | * Owl Carousel - Lazy Load Plugin 130 | */ 131 | .owl-carousel .owl-item { 132 | /** 133 | This is introduced due to a bug in IE11 where lazy loading combined with autoheight plugin causes a wrong 134 | calculation of the height of the owl-item that breaks page layouts 135 | */ } 136 | .owl-carousel .owl-item .owl-lazy { 137 | opacity: 0; 138 | transition: opacity 400ms ease; } 139 | .owl-carousel .owl-item .owl-lazy[src^=""], .owl-carousel .owl-item .owl-lazy:not([src]) { 140 | max-height: 0; } 141 | .owl-carousel .owl-item img.owl-lazy { 142 | transform-style: preserve-3d; } 143 | 144 | /* 145 | * Owl Carousel - Video Plugin 146 | */ 147 | .owl-carousel .owl-video-wrapper { 148 | position: relative; 149 | height: 100%; 150 | background: #000; } 151 | 152 | .owl-carousel .owl-video-play-icon { 153 | position: absolute; 154 | height: 80px; 155 | width: 80px; 156 | left: 50%; 157 | top: 50%; 158 | margin-left: -40px; 159 | margin-top: -40px; 160 | background: url("owl.video.play.png") no-repeat; 161 | cursor: pointer; 162 | z-index: 1; 163 | -webkit-backface-visibility: hidden; 164 | transition: transform 100ms ease; } 165 | 166 | .owl-carousel .owl-video-play-icon:hover { 167 | -ms-transform: scale(1.3, 1.3); 168 | transform: scale(1.3, 1.3); } 169 | 170 | .owl-carousel .owl-video-playing .owl-video-tn, 171 | .owl-carousel .owl-video-playing .owl-video-play-icon { 172 | display: none; } 173 | 174 | .owl-carousel .owl-video-tn { 175 | opacity: 0; 176 | height: 100%; 177 | background-position: center center; 178 | background-repeat: no-repeat; 179 | background-size: contain; 180 | transition: opacity 400ms ease; } 181 | 182 | .owl-carousel .owl-video-frame { 183 | position: relative; 184 | z-index: 1; 185 | height: 100%; 186 | width: 100%; } -------------------------------------------------------------------------------- /static/assets/css/styles.css: -------------------------------------------------------------------------------- 1 | .carousel img { 2 | width: 100%; 3 | height: 700px; 4 | } 5 | 6 | .blog-posts .blog-post img, 7 | .blog-post img { 8 | height: 300px; 9 | } -------------------------------------------------------------------------------- /static/assets/fonts/Flaticon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/fonts/Flaticon.woff -------------------------------------------------------------------------------- /static/assets/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /static/assets/fonts/flexslider-icon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/fonts/flexslider-icon.eot -------------------------------------------------------------------------------- /static/assets/fonts/flexslider-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | This is a custom SVG font generated by IcoMoon. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /static/assets/fonts/flexslider-icon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/fonts/flexslider-icon.ttf -------------------------------------------------------------------------------- /static/assets/fonts/flexslider-icon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/fonts/flexslider-icon.woff -------------------------------------------------------------------------------- /static/assets/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /static/assets/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /static/assets/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /static/assets/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /static/assets/fonts/slick.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/fonts/slick.eot -------------------------------------------------------------------------------- /static/assets/fonts/slick.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Generated by Fontastic.me 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /static/assets/fonts/slick.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/fonts/slick.ttf -------------------------------------------------------------------------------- /static/assets/fonts/slick.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/fonts/slick.woff -------------------------------------------------------------------------------- /static/assets/images/about-us.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/about-us.jpg -------------------------------------------------------------------------------- /static/assets/images/ai.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/ai.jpg -------------------------------------------------------------------------------- /static/assets/images/banner-item-01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/banner-item-01.jpg -------------------------------------------------------------------------------- /static/assets/images/banner-item-02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/banner-item-02.jpg -------------------------------------------------------------------------------- /static/assets/images/banner-item-03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/banner-item-03.jpg -------------------------------------------------------------------------------- /static/assets/images/banner-item-04.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/banner-item-04.jpg -------------------------------------------------------------------------------- /static/assets/images/banner-item-05.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/banner-item-05.jpg -------------------------------------------------------------------------------- /static/assets/images/banner-item-06.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/banner-item-06.jpg -------------------------------------------------------------------------------- /static/assets/images/blog-post-01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/blog-post-01.jpg -------------------------------------------------------------------------------- /static/assets/images/blog-post-02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/blog-post-02.jpg -------------------------------------------------------------------------------- /static/assets/images/blog-post-03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/blog-post-03.jpg -------------------------------------------------------------------------------- /static/assets/images/blog-thumb-01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/blog-thumb-01.jpg -------------------------------------------------------------------------------- /static/assets/images/blog-thumb-02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/blog-thumb-02.jpg -------------------------------------------------------------------------------- /static/assets/images/blog-thumb-03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/blog-thumb-03.jpg -------------------------------------------------------------------------------- /static/assets/images/blog-thumb-04.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/blog-thumb-04.jpg -------------------------------------------------------------------------------- /static/assets/images/blog-thumb-05.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/blog-thumb-05.jpg -------------------------------------------------------------------------------- /static/assets/images/blog-thumb-06.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/blog-thumb-06.jpg -------------------------------------------------------------------------------- /static/assets/images/comment-author-01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/comment-author-01.jpg -------------------------------------------------------------------------------- /static/assets/images/comment-author-02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/comment-author-02.jpg -------------------------------------------------------------------------------- /static/assets/images/comment-author-03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/comment-author-03.jpg -------------------------------------------------------------------------------- /static/assets/images/cta-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/cta-bg.jpg -------------------------------------------------------------------------------- /static/assets/images/education.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/education.jpg -------------------------------------------------------------------------------- /static/assets/images/heading-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/heading-bg.jpg -------------------------------------------------------------------------------- /static/assets/images/img1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/img1.jpg -------------------------------------------------------------------------------- /static/assets/images/img2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/img2.jpg -------------------------------------------------------------------------------- /static/assets/images/img3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/img3.jpg -------------------------------------------------------------------------------- /static/assets/images/img4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/img4.jpg -------------------------------------------------------------------------------- /static/assets/images/nature.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/nature.jpg -------------------------------------------------------------------------------- /static/assets/images/tech.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/tech.jpg -------------------------------------------------------------------------------- /static/assets/images/travel.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/travel.jpg -------------------------------------------------------------------------------- /static/assets/images/user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keerti1924/Python-Django-Blog-Website/b5f08b555a56466a8f8e6dba913c2dafe87cc185/static/assets/images/user.png -------------------------------------------------------------------------------- /static/assets/js/custom.js: -------------------------------------------------------------------------------- 1 | jQuery( document ).ready(function( $ ) { 2 | 3 | 4 | "use strict"; 5 | 6 | 7 | // Page loading animation 8 | 9 | $("#preloader").animate({ 10 | 'opacity': '0' 11 | }, 600, function(){ 12 | setTimeout(function(){ 13 | $("#preloader").css("visibility", "hidden").fadeOut(); 14 | }, 300); 15 | }); 16 | 17 | 18 | $(window).scroll(function() { 19 | var scroll = $(window).scrollTop(); 20 | var box = $('.header-text').height(); 21 | var header = $('header').height(); 22 | 23 | if (scroll >= box - header) { 24 | $("header").addClass("background-header"); 25 | } else { 26 | $("header").removeClass("background-header"); 27 | } 28 | }); 29 | 30 | if ($('.owl-clients').length) { 31 | $('.owl-clients').owlCarousel({ 32 | loop: true, 33 | nav: false, 34 | dots: true, 35 | items: 1, 36 | margin: 30, 37 | autoplay: false, 38 | smartSpeed: 700, 39 | autoplayTimeout: 6000, 40 | responsive: { 41 | 0: { 42 | items: 1, 43 | margin: 0 44 | }, 45 | 460: { 46 | items: 1, 47 | margin: 0 48 | }, 49 | 576: { 50 | items: 3, 51 | margin: 20 52 | }, 53 | 992: { 54 | items: 5, 55 | margin: 30 56 | } 57 | } 58 | }); 59 | } 60 | 61 | if ($('.owl-banner').length) { 62 | $('.owl-banner').owlCarousel({ 63 | loop: true, 64 | nav: true, 65 | dots: true, 66 | items: 3, 67 | margin: 10, 68 | autoplay: false, 69 | smartSpeed: 700, 70 | autoplayTimeout: 6000, 71 | responsive: { 72 | 0: { 73 | items: 1, 74 | margin: 0 75 | }, 76 | 460: { 77 | items: 1, 78 | margin: 0 79 | }, 80 | 576: { 81 | items: 1, 82 | margin: 10 83 | }, 84 | 992: { 85 | items: 3, 86 | margin: 10 87 | } 88 | } 89 | }); 90 | } 91 | 92 | }); 93 | -------------------------------------------------------------------------------- /static/prepros-6.config: -------------------------------------------------------------------------------- 1 | { 2 | "name": "html", 3 | "firstRun": false, 4 | "exportConfig": true, 5 | "fileConfigs": [], 6 | "fileTree": { 7 | "expandedDirs": [], 8 | "hideSystemFiles": true, 9 | "systemFiles": [ 10 | ".*", 11 | "desktop.ini", 12 | "prepros.config", 13 | "$RECYCLE.BIN", 14 | "prepros.cfg", 15 | "prepros-6.config", 16 | "Prepros Export" 17 | ], 18 | "hideUnwatchedFiles": false 19 | }, 20 | "imports": [], 21 | "projectView": { 22 | "selectedView": "file-tree" 23 | }, 24 | "fileWatcher": { 25 | "enabled": true, 26 | "watchedExtensions": [ 27 | "less", 28 | "sass", 29 | "scss", 30 | "styl", 31 | "md", 32 | "markdown", 33 | "coffee", 34 | "js", 35 | "jade", 36 | "haml", 37 | "slim", 38 | "ls", 39 | "kit", 40 | "png", 41 | "jpg", 42 | "jpeg", 43 | "ts", 44 | "pug", 45 | "css", 46 | "html", 47 | "htm", 48 | "php" 49 | ] 50 | }, 51 | "pathFilters": [ 52 | "node_modules", 53 | ".*", 54 | "bower_components", 55 | "prepros.config", 56 | "Prepros Export", 57 | "prepros-6.config", 58 | "prepros.cfg", 59 | "wp-admin", 60 | "wp-includes" 61 | ], 62 | "server": { 63 | "port": 7879, 64 | "assignNewPortAutomatically": true, 65 | "enable": true, 66 | "proxy": { 67 | "enable": false, 68 | "url": "" 69 | } 70 | }, 71 | "browser-sync": { 72 | "enable": false, 73 | "clicks": true, 74 | "forms": true, 75 | "scroll": true 76 | }, 77 | "live-reload": { 78 | "enable": true, 79 | "animate": true, 80 | "delay": 0 81 | }, 82 | "ftp-deploy": { 83 | "connectionType": "ftp", 84 | "remotePath": "", 85 | "uploadTimeout": 20000, 86 | "uploadOnChange": false, 87 | "ftp": { 88 | "secure": false, 89 | "keepAlive": true, 90 | "host": "", 91 | "port": 21, 92 | "user": "", 93 | "password": "" 94 | }, 95 | "sftp": { 96 | "host": "", 97 | "port": 22, 98 | "usePrivateKey": false, 99 | "username": "", 100 | "password": "", 101 | "privateKey": "", 102 | "passphrase": "" 103 | }, 104 | "pathFilters": [ 105 | "config.rb", 106 | "prepros.config", 107 | "prepros-6.config", 108 | "node_modules", 109 | "Prepros Export", 110 | ".git", 111 | ".idea", 112 | ".sass-cache", 113 | ".hg", 114 | ".svn", 115 | ".cache", 116 | ".DS_Store", 117 | "*.sass", 118 | "*.scss", 119 | "*.less", 120 | "*.pug", 121 | "*.jade", 122 | "*.styl", 123 | "*.haml", 124 | "*.slim", 125 | "*.coffee", 126 | "*.ls", 127 | "*.kit", 128 | "*.ts" 129 | ], 130 | "history": [] 131 | }, 132 | "file-type-sass": "{\"compilers\":[\"node-sass\",\"autoprefixer\",\"minify-css\"]}", 133 | "file-type-less": "{\"compilers\":[\"less\",\"autoprefixer\",\"minify-css\"]}", 134 | "autoprefixer": { 135 | "browsers": "last 5 versions" 136 | }, 137 | "file-type-pug": "{\"compilers\":[\"pug\"]}", 138 | "file-type-css": "{\"compilers\":[\"autoprefixer\",\"cssnext\",\"minify-css\"]}", 139 | "file-type-javascript": "{\"compilers\":[\"concat-js\",\"babel\",\"uglify-js\"]}", 140 | "file-type-stylus": "{\"compilers\":[\"stylus\",\"autoprefixer\",\"minify-css\"]}", 141 | "file-type-markdown": "{\"compilers\":[\"markdown\"]}", 142 | "file-type-haml": "{\"compilers\":[\"haml\"]}", 143 | "file-type-slim": "{\"compilers\":[\"slim\"]}", 144 | "file-type-coffee-script": "{\"compilers\":[\"coffee-script\",\"uglify-js\"]}", 145 | "file-type-livescript": "{\"compilers\":[\"livescript\",\"uglify-js\"]}", 146 | "file-type-kit": "{\"compilers\":[\"kit\"]}", 147 | "uglify-js": { 148 | "ie8": false, 149 | "compress": { 150 | "sequences": true, 151 | "properties": true, 152 | "dead_code": true, 153 | "drop_debugger": true, 154 | "unsafe": false, 155 | "unsafe_comps": false, 156 | "unsafe_math": false, 157 | "unsafe_proto": false, 158 | "unsafe_regexp": false, 159 | "conditionals": true, 160 | "comparisons": true, 161 | "evaluate": true, 162 | "booleans": true, 163 | "loops": true, 164 | "unused": true, 165 | "toplevel": false, 166 | "top_retain": "", 167 | "hoist_funs": true, 168 | "hoist_vars": false, 169 | "if_return": true, 170 | "join_vars": true, 171 | "collapse_vars": true, 172 | "reduce_vars": true, 173 | "warnings": true, 174 | "negate_iife": true, 175 | "pure_getters": false, 176 | "pure_funcs": [], 177 | "drop_console": false, 178 | "expression": false, 179 | "keep_fargs": true, 180 | "keep_fnames": false, 181 | "passes": 1, 182 | "keep_infinity": false, 183 | "side_effects": true, 184 | "global_defs": [] 185 | }, 186 | "output": { 187 | "ascii_only": false, 188 | "beautify": false, 189 | "comments": "", 190 | "indent_level": 4, 191 | "indent_start": 0, 192 | "inline_script": false, 193 | "keep_quoted_props": false, 194 | "max_line_len": false, 195 | "preamble": "", 196 | "preserve_line": false, 197 | "quote_keys": false, 198 | "quote_style": 0, 199 | "semicolons": true, 200 | "shebang": true, 201 | "width": 80 202 | } 203 | }, 204 | "cssnext": { 205 | "customProperties": true, 206 | "applyRule": true, 207 | "calc": false, 208 | "nesting": true, 209 | "customMedia": true, 210 | "mediaQueriesRange": true, 211 | "customSelectors": true, 212 | "attributeCaseInsensitive": true, 213 | "colorRebeccapurple": true, 214 | "colorHwb": true, 215 | "colorGray": true, 216 | "colorHexAlpha": true, 217 | "colorFunction": true, 218 | "fontVariant": true, 219 | "filter": true, 220 | "initial": true, 221 | "rem": true, 222 | "pseudoElements": true, 223 | "pseudoClassMatches": true, 224 | "pseudoClassNot": true, 225 | "pseudoClassAnyLink": true, 226 | "colorRgba": true, 227 | "overflowWrap": true 228 | }, 229 | "file-type-typescript": "{\"compilers\":[\"typescript\",\"uglify-js\"]}", 230 | "babel": { 231 | "useBabelRc": true, 232 | "presets": { 233 | "babel-preset-es2015": true 234 | }, 235 | "plugins": { 236 | "babel-plugin-syntax-jsx": true, 237 | "babel-plugin-transform-react-jsx": true, 238 | "babel-plugin-transform-async-to-generator": true, 239 | "babel-plugin-transform-class-properties": true, 240 | "babel-plugin-transform-object-rest-spread": true 241 | } 242 | }, 243 | "file-type-png": "{\"compilers\":[\"png\"]}", 244 | "file-type-jpg": "{\"compilers\":[\"jpg\"]}" 245 | } -------------------------------------------------------------------------------- /templates/blog.html: -------------------------------------------------------------------------------- 1 | {% load static %} 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 14 | 15 | Blogs 16 | 17 | 18 | 19 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | {%include 'header.html'%} 35 | 36 | 82 | 83 | {% if user.is_authenticated %} 84 |
85 |
MY POSTS
86 |
87 |
88 | 89 | {% for post in posts|slice:"0:3" %} 90 |
91 | 92 |
93 | 94 | {{post.category}} 95 |
{{post.postname}}
96 |
97 |
98 | {% csrf_token %} 99 | 102 |
103 | 104 |

{{post.content|slice:"0:100"}}...

105 |

{{post.time}}

106 |
107 |
108 | {% endfor %} 109 |
110 | View All 111 | >> 112 |
113 | {% endif %} 114 | 115 | 116 |
117 |
118 |

RECENT POSTS

119 |
120 |
121 |
122 |
123 | 124 | {% for post in recent_posts %} 125 |
126 |
127 |
128 | 129 |
130 |
131 | {{post.category}} 132 |
133 | {% csrf_token %} 134 | 136 |
137 | 138 |
{{post.postname}}
139 |
140 | 144 |

{{post.content|slice:"0:500"}}....

145 |
146 |
147 |
148 | {% endfor %} 149 |
150 |
151 |
152 |
153 |
154 |
155 | 156 | {% include 'footer.html' %} 157 | 158 | 159 | 160 | 161 | 164 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 185 | 186 | 187 | 188 | -------------------------------------------------------------------------------- /templates/contact.html: -------------------------------------------------------------------------------- 1 | {% load static %} 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 14 | 16 | 17 | 18 | 19 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | Contact 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | {%include 'header.html'%} 41 | 42 | 43 | 44 |
45 |
46 |
47 |
48 |
49 |
50 |

contact us

51 |

let's stay in touch!

52 |
53 |
54 |
55 |
56 |
57 |
58 | 59 | 60 | 61 | {% if message %} 62 | 65 | {% endif %} 66 | 67 | 68 |
69 |
70 |
71 | 72 |
73 |
74 |
75 |
76 | 121 |
122 |
123 | 146 |
147 |
148 |
149 |
150 | 151 |
152 |
153 | 156 |
157 |
158 | 159 |
160 |
161 |
162 | 163 | 164 | {%include 'footer.html'%} 165 | 166 | 167 | 168 | 169 | 172 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 195 | 196 | 197 | 198 | -------------------------------------------------------------------------------- /templates/create.html: -------------------------------------------------------------------------------- 1 | {% load static %} 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 13 | 15 | Create Blog 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 69 | 70 | 71 | 72 | 73 | 74 |
75 | 114 |
115 | 116 | 117 | 118 |
119 |
120 | 121 |
122 | {% csrf_token %} 123 |

Create Blog

124 | 125 |
126 | 127 |
128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 |
136 | {% for message in messages %} 137 |

{{message}}

138 | {% endfor %} 139 |
140 | 141 |
142 |
143 | 144 | {% include 'footer.html' %} 145 | 146 | 147 | 148 | -------------------------------------------------------------------------------- /templates/footer.html: -------------------------------------------------------------------------------- 1 | 2 | 32 | 33 | -------------------------------------------------------------------------------- /templates/header.html: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | 10 | 11 | 12 |
13 | 55 |
56 | 57 | 58 | 59 |
60 |
61 | 64 |
65 |
66 | -------------------------------------------------------------------------------- /templates/index.html: -------------------------------------------------------------------------------- 1 | {% load static %} 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 14 | 16 | BlogSpot - Blogging Website 17 | 18 | 19 | 20 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | {%include 'header.html'%} 36 | 37 | 38 | 96 | 97 | {% if user.is_authenticated %} 98 |
99 |
MY POSTS
100 |
101 |
102 | 103 | {% for post in posts|slice:"0:3" %} 104 |
105 | 106 |
107 | 108 | {{post.category}} 109 |
{{post.postname}}
110 |
111 |
112 | {% csrf_token %} 113 | 116 |
117 | 118 |

{{post.content|slice:"0:100"}}...

119 |

{{post.time}}

120 |
121 |
122 | {% endfor %} 123 |
124 | View All 125 | >> 126 |
127 | {% endif %} 128 | 129 |
130 |
131 |

RECENT POSTS

132 |
133 |
134 |
135 |
136 |
137 | 138 | {% for post in top_posts|slice:"0:7" %} 139 |
140 | 141 |
142 | 143 | {{post.category}} 145 |
{{post.postname}}
146 |
147 |
148 | {% csrf_token %} 149 | 152 |
153 | 154 |

{{post.content|slice:"0:100"}}...

155 |

{{post.time}}

156 |
157 |
158 | {% endfor %} 159 |
160 |
161 |
162 |
163 | 191 |
192 |
193 |
194 |
195 | 196 | 197 | {% include 'footer.html' %} 198 | 199 | 200 | 201 | 202 | 203 | 206 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 229 | 230 | 231 | 232 | -------------------------------------------------------------------------------- /templates/post-details.html: -------------------------------------------------------------------------------- 1 | {% load static %} 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Blog Post Details 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 31 | 32 | 33 | 34 | 35 | {%include 'header.html'%} 36 | 37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 | post_image 47 |
48 |
49 | {{post.category}} 50 |

{{post.postname}}

51 | 56 |

{{post.content}}

57 |
58 |
59 |
60 |
61 |
62 |
63 | 84 |
85 | {% if user.is_authenticated %} 86 |
87 | 109 |
110 | {% endif %} 111 |
112 |
113 |
114 |
115 | 139 |
140 |
141 |
142 |
143 | 144 | 145 | {% include "footer.html" %} 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 171 | 172 | 173 | 174 | 175 | 176 | -------------------------------------------------------------------------------- /templates/postedit.html: -------------------------------------------------------------------------------- 1 | {% load static %} 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 13 | 15 | Update Post 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 69 | 70 | 71 | 72 | 73 | 74 |
75 | 114 |
115 | 116 | 117 | 118 | 119 |
120 |
121 | 122 |
123 | {% csrf_token %} 124 |
Update Your Post
125 | 126 |
127 | 128 |
129 | 130 | 131 | 132 | 133 | 134 |
135 | {% for message in messages %} 136 |

{{message}}

137 | {% endfor %} 138 |
139 | 140 |
141 |
142 | 143 | {% include 'footer.html' %} 144 | 145 | 146 | 147 | -------------------------------------------------------------------------------- /templates/profile.html: -------------------------------------------------------------------------------- 1 | {% load static %} 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 13 | 15 | Profile 16 | 17 | 18 | 19 | 20 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 184 | 185 | 186 | 187 | 188 | 189 |
190 | 229 |
230 | 231 | 232 |
233 |
234 |
235 |
236 |
237 |
238 |
239 | 252 |
253 |
254 |
Profile Edit Profile 259 |
260 |
261 |
262 |

Firstname :- 263 | {{user.first_name}} 264 |

265 |
266 |
267 |

Lastname :- 268 | {{user.last_name}} 269 |

270 |
271 |
272 |

Email :- 273 | {{user.email}} 274 |

275 |
276 |
277 |

My Posts

278 |
279 | 280 |
281 | {% for post in posts%} 282 | {% if post.user_id == user.id %} 283 |
284 | 286 |
287 |
{{post.postname}}
288 | 291 | 294 | {{post.category}} 296 |

{{post.content|slice:"0:20"}}...

297 |

{{post.time}}Likes : 299 | {{post.likes}}

300 |
301 |
302 | {% endif %} 303 | {% endfor %} 304 |
305 |
306 |
307 |
308 |
309 |
310 |
311 |
312 |
313 |
314 | {% include 'footer.html' %} 315 | 316 | 317 | -------------------------------------------------------------------------------- /templates/profileedit.html: -------------------------------------------------------------------------------- 1 | {% load static %} 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 13 | 15 | Edit Profile 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 69 | 70 | 71 | 72 | 73 | 74 |
75 | 114 |
115 | 116 | 117 | 118 |
119 |
120 | 121 |
122 | {% csrf_token %} 123 |
Update Profile
124 | 125 |
126 | @ 127 | 128 |
129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 |
137 | {% for message in messages %} 138 |

{{message}}

139 | {% endfor %} 140 |
141 | 142 |
143 |
144 | 145 | {% include 'footer.html' %} 146 | 147 | 148 | 149 | -------------------------------------------------------------------------------- /templates/signin.html: -------------------------------------------------------------------------------- 1 | {% load static %} 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 14 | 16 | 17 | 18 | 19 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | Login 30 | 31 | 81 | 82 | 83 | 84 | 85 | {%include 'header.html'%} 86 | 87 |
88 |
89 | 90 |
91 | {% csrf_token %} 92 |

LOGIN

93 |
94 | {% for message in messages %} 95 |

{{message}}

96 | {% endfor %} 97 | 98 |
99 | @ 100 | 101 |
102 | 103 |
104 | 105 |
106 | 107 |

Don't have an account ? Sign up

108 |
109 |
110 |
111 | 112 | {% include 'footer.html' %} 113 | 114 | 115 | 116 | 117 | 118 | 121 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 144 | 145 | 146 | 147 | -------------------------------------------------------------------------------- /templates/signup.html: -------------------------------------------------------------------------------- 1 | {% load static %} 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 14 | 16 | 17 | 18 | 19 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | Signup 30 | 31 | 81 | 82 | 83 | 84 | 85 | {%include 'header.html'%} 86 | 87 |
88 |
89 | 90 |
91 | {% csrf_token %} 92 |

SIGNUP

93 |
94 | {% for message in messages %} 95 |

{{message}}

96 | {% endfor %} 97 | 98 |
99 | @ 100 | 101 |
102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 |

Have an account ? 110 | Login 111 |

112 | 113 | 114 |
115 | 116 |
117 |
118 | 119 | {% include 'footer.html' %} 120 | 121 | 122 | 123 | 124 | 125 | 128 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 151 | 152 | 153 | 154 | --------------------------------------------------------------------------------