- Activate Virtualenv
- django-admin startproject mysite
- Change settings.py
- TIME_ZONE = 'Asia/Seoul'
- STATIC_ROOT = os.path.join(BASE_DIR, 'static')
- python manage.py migrate
- python manage.py startapp someapp
- Add app to settings.py
- Edit models.py
- from django.utils import timezone
- Make class somename(models.Model)
- models have belows :
- ForeignKey
- CharField
- TextField
- UrlField
- DateTimeField
from django.db import models from django.utils import timezone import ast # Create your models here. class Hi(models.Model): author = models.ForeignKey('auth.User') title = models.CharField(max_length=10) body = models.TextField(null=True, blank=True) created_date = models.DateTimeField( default=timezone.now ) published_date = models.DateTimeField( null=True, blank=True ) def publish(self): self.published_date = timezone.now self.save def __str__(self): return self.title
- python manage.py makemigrations someapp
- python manage.py migrate someapp
- Edit admin.py
- (In VS Code, install djaneiro)
- from .models import *
- Typing adminview and tab!
from django.contrib import admin from .models import * class HiAdmin(admin.ModelAdmin): ''' Admin View for Hi ''' list_display = ('title', 'body', 'author', 'published_date') list_filter = ('title', 'author') search_fields = ('title', 'author') list_per_page = 25 admin.site.register(Hi, HiAdmin)
- python manage.py createsuperuser
- python manage.py runserver
- Server : python manage.py collectstatic
- Edit urls.py (mysite)
** Regex **
- ^ : Start
- $ : End
- \d : Number
- () : Save part of pattern
from django.conf.urls import include, url from django.contrib import admin admin.site.site_title = "Yonsei HEP-COSMO Admin Page" admin.site.site_header = "Yonsei HEP-COSMO Admin Page" urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'', include('HEP_COSMO.urls')), ]
- Edit urls.py (someapp)
- from . import views
- Add urlpatterns
from django.conf.urls import url from . import views urlpatterns = [ url(r'^$', views.home, name='index'), url(r'^index', views.home, name='index'), url(r'^members', views.members, name='members'), url(r'^publish', views.publish, name='publish'), url(r'^research', views.research, name='research'), url(r'^calendar', views.calendar, name='calendar'), url(r'^finedust', views.finedust, name='finedust'), url(r'^link', views.link, name='link'), url(r'^arxiv', views.arxiv, name='arxiv'), url(r'contact', views.contact, name='contact'), ]
- Edit views.py (render : request -> html)
from django.shortcuts import render from .models import * # Create your views here. def home(request): return render(request, 'HEP/index.html', {}) def members(request): persons = People.objects.order_by('index') temp = [] for person in persons: temp.append(person.position) positions = [] [positions.append(position) for position in temp if position not in positions] return render(request, 'HEP/members.html', {'persons': persons, 'positions': positions})
- mkdir templates, mkdir templates/app, touch html
- Edit html ({% block content %})
{% load staticfiles %} <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="description" content="Yonsei HEP-COSMO Web Page"> <meta name="author" content="Axect"> <title>Yonsei HEP-COSMO</title> <!-- Bootstrap core CSS --> <link href="{% static 'css/bootstrap.css' %}" rel="stylesheet"> <link href="{% static 'css/image-effects.css' %}" rel="stylesheet"> <link href="{% static 'css/custom-styles.css' %}" rel="stylesheet"> <link href="{% static 'css/font-awesome.css' %}" rel="stylesheet"> <link href="{% static 'css/font-awesome-ie7.css' %}" rel="stylesheet"> <!-- Favicon --> <link rel="shortcut icon" href="{% static 'favicon.ico' %}" /> </head>
<div class="container"> <div class="row"> <div class="col-md-12 col-sm-12"> <div class="blist"> {% for diffyear in yearlist %} <div class="ruler"></div> <ul> <li><a href="#">{{ diffyear }}</a></li> </ul> <div class="dlist"> <ul> {% for article in articles %} {% if article.year == diffyear %} <li> {{ article.people }}, 「<span><i>{{ article.title }}</i></span>」 {% if article.journal != None %} <a href="{{ article.hyperlink }}" target="_blank">{{ article.journal }}</a> {% endif %} <a href="{{ article.arxivlink }}" target="_blank">{{ article.arxiv }}</a> </li> {% endif %} {% endfor %} </ul> </div> {% endfor %} <br /> <div class="ruler"></div> <p> You can find the full list from InspireHEP [<a href="https://goo.gl/AS6UKo" target="_blank">here</a>] </p> </div> </div> </div> </div>
- mkdir static, mkdir css, touch css