How can I learn around the settings of views.py and urls.py in a very easy way? I thought that if I suppressed only the basics before repeating many mistakes, the rest would be smooth.
The introduction of Django is a past article http://qiita.com/Gen6/items/1848f8b4d938807d082e
It is assumed that the template setup has been completed as this time. http://qiita.com/Gen6/items/a5562c36fc5c67c89916
I think that the story will be easier to understand if you do the same by referring to past articles.
templates/index.html
{% extends "base.html" %}
{% block body %}
<p>{{hour}}It's time</p>
{% endblock %}
myapp/urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^template/$', views.index, name='index'),
]
myapp/views.py
from datetime import datetime
from django.http.response import HttpResponse
from django.shortcuts import render
def index(request):
Datetime = {
'hour': datetime.now().hour,
}
return render(request, 'index.html', Datetime)
If you check the above at http://127.0.0.1:8000/myapp/, the time should be displayed. If the time zone is out of order, change from'UTC'to'Asia / Tokyo'in settings.py.
templates/index.html
{% extends "base.html" %}
{% block body %}
<form action="" method="get">
<label>name:<input type="text" size="20" name="your_name"></label>
<input type="submit" value="Send">
</form>
{% if your_name %}
<p>{{ your_name }}Hey,.</p>
{% endif %}
{% endblock %}
myapp/urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.get_query, name='get_query'),
url(r'^template/$', views.index, name='index'),
]
myapp/views.py
from django.http.response import HttpResponse
from django.shortcuts import render
def get_query(request):
Message = {
'your_name': request.GET.get('your_name'),
}
return render(request, 'index.html', Message)
If you check the above at http://127.0.0.1:8000/myapp/, a form will appear, Returns the string entered in the form.
Well, the main subject is from here. How can I make use of the form while displaying the time?
templates/index.html
{% extends "base.html" %}
{% block body %}
<p>{{hour}}It's time</p>
<form action="" method="get">
<label>name:<input type="text" size="20" name="your_name"></label>
<input type="submit" value="Send">
</form>
{% if your_name %}
<p>{{ your_name }}Hey,.</p>
{% endif %}
{% endblock %}
myapp/urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^$', views.get_query, name='get_query'),
url(r'^template/$', views.index, name='index'),
]
myapp/views.py
from datetime import datetime
from django.http.response import HttpResponse
from django.shortcuts import render
def index(request):
Datetime = {
'hour': datetime.now().hour,
}
return render(request, 'index.html', Datetime)
def get_query(request):
Message = {
'your_name': request.GET.get('your_name'),
}
return render(request, 'index.html', Message)
This will not work. Where is the problem?
myapp/urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^template/$', views.index, name='index'),
]
myapp/views.py
from datetime import datetime
from django.http.response import HttpResponse
from django.shortcuts import render
def index(request):
Message = {
'your_name': request.GET.get('your_name'),
'hour': datetime.now().hour
}
return render(request, 'index.html', Message)
I think that if you can grasp it, you can deepen your understanding by trying various settings.
The actual application creation is in a separate article. http://qiita.com/Gen6/items/735245423b65698428be
Recommended Posts