DjangoGirls Seoul | Django Study: Django Model-View-Template

18
Django Girls Seoul Django Study Django Model-View-Template

Transcript of DjangoGirls Seoul | Django Study: Django Model-View-Template

Django Girls SeoulDjango StudyDjango Model-View-Template

MTV? MVC?

Model?

Model ( )

• Database Django

• DB Column

from django.db import models

class SomeInfo(models.Model): name = models.CharField(max_length=200)

• name Column 200 .

Model Field ( )

• models SomeInfo => DB SomeInfo Table

• SomeInfo name => DB name Column

Model Manager ( )

• DB Query

• SomeInfo.objects.

User Method ( )

• SomeInfo class

Rela%onship ( )

• class (DB table )

• OneToOneField(1:1) / ForeignKey(1:n) / ManyToManyField(n:n)

class UserInfo(models.Model): user = models.OneToOneField(settings.AUTH_USER_MODEL) # ! nickname = models.CharField(max_length=20)

class Post(models.Model): user = models.ForeignKey(settings.AUTH_USER_MODEL) # . title = models.CharField(max_length=200) content = models.TextField()

class Tag(models.Model): post = models.ManyToManyField(Post) # Post , Post .

Rela%onship ( )• OneToOneFieldu = User(user=request.user)u.userinfo.nickname # user UserInfo nickname

• ForeignKeyu.post_set.all() # user post

• ManyToManyFieldp = Post.objects.first()p.tag_set.all()

Template?

Template ( )

• Python HTML

• Django Template ( Jinja2)

• View

• render

• MVC V( )

Template ( )<!-- some_var -->{{ some_var }}

<!-- some_tag -->{% some_tag %}

<!-- -->{{ some_var | filter }}

<!-- -->

{# #}{% comment %} {% endcomment %}

View?

View ( )

• Django URL

• MVC C( )

• Func4on Based View vs Class Based View

• request -> response

HTTP Request

• method // GET, POST, ..

• GET, POST -> DICT(k:v)

• FILES

• user

• session

• ...

REST?RESTful?

REST <=> CRUD

REST and CRUD

• HTTP Method POST / GET / PUT / DELETE

• CRUD Create / Read / Update / Delete

RESTful

• OpenAPI

• (JSON / XML / RSS)

• StateLess ( Context )

• ( )

• Token