장고에서 Hello, World로 놀기
12436 단어 파이썬장고HelloWorld
참고 : 장고를 가장 빠르게 마스터하는 part1
Hello, World
사랑
애플리케이션 만들기
장고의 프로젝트를 만든 것과 같은 방식으로 응용 프로그램을 만듭니다.
프로젝트의 루트 디렉토리로 이동하여 다음 명령을 실행합니다.
sudo python3.6 manage.py startapp hello
이하의 폴더, 파일이 작성된다.
apply
└ hello
├ admin.py
├ apps.py
├ __init__.py
├ migrations/
├ models.py
├ tests.py
└ views.py
다음에 할 일을 늘어놓으면
장고의 프로젝트를 만든 것과 같은 방식으로 응용 프로그램을 만듭니다.
프로젝트의 루트 디렉토리로 이동하여 다음 명령을 실행합니다.
sudo python3.6 manage.py startapp hello
이하의 폴더, 파일이 작성된다.
apply
└ hello
├ admin.py
├ apps.py
├ __init__.py
├ migrations/
├ models.py
├ tests.py
└ views.py
다음에 할 일을 늘어놓으면
그 1 텍스트로 Hello, World
비에ws. py
views.py
from django.http import HttpResponse
def hello(req):
return HttpResponse('Hello, World !!')
모즈 ぇ s. py
이번에는 사용하지 않는다.
눈가리 gs. py
settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
↓
settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'hello',
]
urls. py
urlpatterns = [
path('admin/', admin.site.urls),
]
↓
import hello.views
urlpatterns = [
path('hello/', hello.views.hello),
path('admin/', admin.site.urls),
]
확인
브라우저에서 다음 URL을 엽니다.
http://サーバの静的IP/hello/
그 2 HTML로 Hello, World
비에ws. py
다음을 추가한다.
def hello_html(req):
src = []
src.append('<!doctype html>')
src.append('<html>')
src.append('<head>')
src.append('<meta charset="utf-8">')
src.append('<title>Hello, World</title>')
src.append('</head>')
src.append('<body>')
src.append('<h1 style="color:#F4A346;">Hello, World!!</h1>')
src.append('</body>')
src.append('</html>')
return HttpResponse('\n'.join(src))
모즈 ぇ s. py
이번에는 사용하지 않는다.
눈가리 gs. py
전에 변경했기 때문에 OK.
urls. py
urlpatterns = [
path('hello/', hello.views.hello),
path('admin/', admin.site.urls),
]
↓
import hello.views
urlpatterns = [
path('hello/', hello.views.hello),
path('hello_html/', hello.views.hello_html),
path('admin/', admin.site.urls),
]
확인
브라우저에서 다음 URL을 엽니다.
http://サーバの静的IP/hello_html/
그 3 템플릿을 사용하여 Hello, World
hello/templates/hello.html
새 파일을 만들고 다음을 입력합니다.
hello.html
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Hello, World !!</title>
<style type="text/css">
.hello {
color: #0F9046;
}
</style>
</head>
<body>
<h1 class="hello">Hello, World !!</h1>
</body>
</html>
비에ws. py
다음을 추가한다.
from django.shortcuts import render
from django.views.generic import TemplateView
class HelloTemplateView(TemplateView):
template_name = 'hello.html'
def get(self, request, *args, **kwargs):
context = super(TemplateView, self).get_context_data(**kwargs)
return render(self.request, self.template_name, context)
모즈 ぇ s. py
이번에는 사용하지 않는다.
눈가리 gs. py
전에 변경했기 때문에 OK.
urls. py
urlpatterns = [
path('hello/', hello.views.hello),
path('hello_html/', hello.views.hello_html),
path('admin/', admin.site.urls),
]
↓
import hello.views
urlpatterns = [
path('hello/', hello.views.hello),
path('hello_html/', hello.views.hello_html),
path('hello_template/', hello.views.HelloTemplateView.as_view()),
path('admin/', admin.site.urls),
]
확인
브라우저에서 다음 URL을 엽니다.
http://サーバの静的IP/hello_template/
그 4 모델을 사용해 Hello, World
hello/templates/hello_model.html
새 파일을 만들고 다음을 입력합니다.
hello_model.html
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Hello, World !!</title>
<style type="text/css">
.hello {
color: #C1002B;
}
</style>
</head>
<body>
{% for hello in hellos %}
<h1 class="hello">hello[{{hello.lang}}][{{hello.hello}}]</h1>
{% endfor %}
<h1 class="hello">hello_en[{{hello_en.hello}}]</h1>
<h1 class="hello">hello_jp[{{hello_ja.hello}}]</h1>
</body>
</html>
비에ws. py
다음을 추가한다.
from hello.models import *
class HelloModelsView(TemplateView):
template_name = 'hello_models.html'
def get(self, request, *args, **kwargs):
context = super(TemplateView, self).get_context_data(**kwargs)
context['hellos'] = Hello.objects.all()
context['hello_en'] = Hello.objects.filter(lang=Hello.EN)[0]
context['hello_ja'] = Hello.objects.filter(lang=Hello.JA)[0]
return render(self.request, self.template_name, context)
모즈 ぇ s. py
models.py
from django.db import models
class Hello(models.Model):
EN = 'en'
JA = 'ja'
lang = models.CharField(max_length=2)
hello = models.CharField(max_length=64)
변경 후 프로젝트의 루트에서 다음 명령을 실행합니다.
python3.6 manage.py makemigrations
sudo python3.6 manage.py migrate
데이터 투입
다음 명령으로 쉘 시작.
sudo python3.6 manage.py shell
쉘에서 다음 명령을 실행합니다.
from hello.models import Hello
Hello.objects.create(lang=Hello.EN, hello='Hello, World !!')
Hello.objects.create(lang=Hello.JA, hello='こんにちは、皆さん!')
눈가리 gs. py
전에 변경했기 때문에 OK.
urls. py
urlpatterns = [
path('hello/', hello.views.hello),
path('hello_html/', hello.views.hello_html),
path('hello_template/', hello.views.HelloTemplateView.as_view()),
path('admin/', admin.site.urls),
]
↓
import hello.views
urlpatterns = [
path('hello/', hello.views.hello),
path('hello_html/', hello.views.hello_html),
path('hello_template/', hello.views.HelloTemplateView.as_view()),
path('hello_models/', hello.views.HelloModelsView.as_view()),
path('admin/', admin.site.urls),
]
확인
브라우저에서 다음 URL을 엽니다.
http://サーバの静的IP/hello_models/
Reference
이 문제에 관하여(장고에서 Hello, World로 놀기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/KnockoutGT/items/7dc1c9a77fb25808d274텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)