title: Django app scope questions
body: <p>I am fairly new to Django, having done the tutorial front to back and back to front with a website I am creating myself. </p>
  
  <p>However, there are - currently - about two question that stop me from progressing. As background: I'm an enterprise java developer so I'm familiar with database design, foreign keys and the importance of entity/model scoping. Also, I created websites with php and mysql and was therefore familiar with including header/footers/menus etc. Switching to Django is difficult partially because of this, since Django uses template inheritance to 'include' pages, which is quite a bit different from including each footer/header/menu in each page.</p>
  
  <p>For these questions, imagine someone who likes to recreate the youtube website with Django (just hypothetical! - who would want to do this anyway?)</p>
  
  <ol>
  <li><p>How would one define the app scope? I read on multiple sources (among which the django website) that an app should be really small, in our example perhaps: comment app, video upload app, suggested videos app etc. However - in my view - comments should have a foreign key to a video and a foreign key to a user. If one would design a comment app, how would one solve those foreign key contraints/dependencies since they would need to point to a different app? Or perhaps, how SHOULD one scope the apps?</p></li>
  <li><p>Related to question 1, about templates... Designing views and templates for a single app is not really a problem (yet). However how does one bring multiple apps together. For example, one could create a 'home' app that holds the menu, header, footer, login and such. But that means that other apps - like comments - need to extend that view creating yet another dependency to the home app. How would one do this in django? </p></li>
  </ol>
  
  <p>Note that I'm not looking for full code - although code snippets might help explain the concepts - but these questions are more theoretical. </p>