建立django project,軟體環境使用pip, django 2.0 up
安裝上有可能因為版本問題,導致你無法使用path modules,你需要更新你的django版本。(例如你的django版本為1.11 or 1.10時)
> pip install --upgrade django
接下來進入正題
建立django project
> django-admin startproject [project_name]
進入django project
> cd [project_name]
在[project_name]/settings.py編輯
TEMPLATES = [
{
...,
'DIRS': [os.path.join(BASE_DIR, 'templates')],
...,
},
]
在[project_name]/urls.py編輯
from django.contrib import admin
from django.urls import path, includeurlpatterns = [
path('admin/', admin.site.urls),
path('accounts/', include('django.contrib.auth.urls')),
]
在[project_name]/下建立檔案: templates, registration, login.html, base.html, home.html.
> mkdir templates
> mkdir templates/registration
> touch templates/registration/login.html
編輯login.html
{% extends 'base.html' %}{% block title %}Login{% endblock %}{% block content %}
<h1>Login</h1>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Login</button>
</form>
{% endblock %}
編輯base.html
<!DOCTYPE html>
<html><head>
<meta charset="utf-8">
<title>{% block title %}Django tutorial{% endblock %}</title>
</head><body>
<main>
{% block content %}
{% endblock %}
</main>
</body></html>
編輯home.html
{% extends 'base.html' %}{% block title %}Home page{% endblock %}{% block content %}
{% if user.is_authenticated %}
Hi {{ user.username }}!
<p><a href="{% url 'logout' %}">logout</a></p>
{% else %}
<p>You are not logged in</p>
<a href="{% url 'login' %}">login</a>
{% endif %}
{% endblock %}
再次編輯[project_name]/urls.py
from django.contrib import admin
from django.urls import path, includefrom django.views.generic.base import TemplateViewurlpatterns = [
path('admin/', admin.site.urls),
path('accounts/', include('django.contrib.auth.urls')),
path('', TemplateView.as_view(template_name='home.html'), name='home'),
]
啟動django
> python manage.py runserver
在瀏覽器上輸入
http://localhost:8000
要測試是否可以正常登入登出,需要建立帳號。
> python manage.py migrate
建立管理者帳號
> python manage.py createsuperuser
輸入帳號密碼確認後,你可以登入後台看是否有被成功建立,在瀏覽器上輸入:
http://localhost:8000/admin
如果你覺得文章很棒或有幫助到您,不妨幫我點個拍手吧! 謝謝…