log开发日志
一、创建项目
1、python -m venv ll_env # 创建虚拟环境
2、source ll_env/bin/activate # 激活虚拟环境
3、pip install django # 安装django
4、django-admin.py startproject project . # 创建项目
5、python manage.py migrate # 创建数据库
6、python manage.py runserver # 测试项目
二、创建应用程序
1、python manage.py startapp app # 创建应用程序
2、vi project/settings.py # 添加应用程序到INSTALLED_APPS列表中
INSTALLED_APPS.append('app')
3、vi project/urls.py # 添加URL映射
from django.urls import include
urlpatterns.append('', include('app.urls', namespace='app'))
4、vi app/urls.py # 添加命名空间
app_name = 'app'
5、vi app/views.py # 创建视图
def view(request): ...
6、vi app/urls.py # 创建URL映射
urlpatterns.append(path('', views.view, name='view'))
7、vi app/templates/app/view.html # 创建视图
8、vi app/models.py # 创建模型
9、vi app/admin.py # 注册模型
10、python manage.py makemigrations app # 激活模型
python manage.py migrate
11、vi app/forms.py # 创建表单
from django import forms
class form(forms.ModelForm):
class Meta:
model = model
fields = []
labels = {}
12、vi app/views.py # 导入表单并使用
from .forms import form
13、vi app/templates/app/form.html # 在html中创建表单并将数据返回到视图函数之中处理数据
三、创建用户
1、python manage.py createsuperuser # 创建超级用户
2、python manage.py startapp users # 创建用户账户
3、vi project/settings.py # 将users添加到INSTALLED_APPS里
4、vi project/urls.py # 添加users的URL映射
urlpatterns.append(path('users/', inculde('users.urls', namespace='users')))
5、vi users/urls.py # 添加users的命名空间
app_name = 'users'
6、vi users/urls.py # 添加登录URL映射
from django.urls import path
from django.contrib.auth.views import LoginView
urlpatterns.append(path('login/', LoginView.as_view(template_name='users/login.html'), name='login'}))
7、vi users/templates/users/login.html # 添加模板
8、vi app/templates/app/base.html # 添加状态栏
{% if user.is_authenticated %}
Hello, {{ user.username }}
{% else %}
<a href='{% url users:login %}'>log in</a>
{% endif %}
9、vi project/settings.py # 重定向设置
LOGIN_URL = '/users/login/'
10、vi app/models.py # 将模型关联到客户
from django.contrib.auth.models import User
owner = models.ForeignKey(User, on_delete=models.CASCADE)
11、vi app/views.py # 添加访问限制
from django.contrib.auth.decorators import login_required
@login_required
if topic.owner != request.user:
raise Http404