下面是Django基础知识与基本应用入门教程的完整攻略:
安装Django
你可以使用以下命令来安装Django:
pip install Django
创建Django项目
使用以下命令来创建一个Django项目:
django-admin startproject myproject
其中,"myproject"是你的项目名称。
创建Django应用
在项目内部,你可以使用以下命令来创建一个Django应用:
python manage.py startapp myapp
其中,"myapp"是你的应用名称。
创建模型
在"myapp"应用内部的models.py文件中,你可以定义模型并创建数据库表。例如:
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=30)
age = models.IntegerField()
email = models.EmailField()
进行数据库迁移
在定义完模型后,你需要进行数据库迁移才能创建数据库表。使用以下命令来进行数据库迁移:
python manage.py makemigrations
python manage.py migrate
添加视图
在"myapp"应用内部的views.py文件中,你可以定义视图函数并进行响应信息的处理。例如:
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello, world!")
创建URL映射
在"myapp"应用内部的urls.py文件中,你可以定义URL地址与视图函数之间的映射关系。例如:
from django.urls import path
from . import views
urlpatterns = [
path('hello/', views.hello, name='hello'),
]
在项目中配置URL映射
在项目中的urls.py文件中,你可以将应用的URL映射进行统一管理。例如:
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('admin/', admin.site.urls),
path('myapp/', include('myapp.urls')),
]
其中,"myapp"是你的应用名称。
运行Django项目
使用以下命令来启动Django项目:
python manage.py runserver
然后你可以在浏览器中输入"http://127.0.0.1:8000/myapp/hello/"地址来访问你刚才定义的视图函数并看到响应信息。
以上就是Django基础知识与基本应用入门教程的完整攻略。下面,我将给你两个示例说明。
示例1:创建一个简单的博客系统
首先,你需要创建一个Django项目和一个Django应用。然后,在应用中创建一个Article模型,用来存储文章数据。
from django.db import models
class Article(models.Model):
title = models.CharField(max_length=50)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
然后,进行数据库迁移并创建数据表。
python manage.py makemigrations
python manage.py migrate
接下来,创建一个视图函数,用来获取文章列表并展示到HTML模板中。
from django.shortcuts import render
from .models import Article
def article_list(request):
articles = Article.objects.all()
return render(request, 'article_list.html', {'articles': articles})
在应用的templates目录下,我们创建一个article_list.html模板文件,用来展示文章列表。
{% for article in articles %}
<h2>{{ article.title }}</h2>
<p>{{ article.content }}</p>
{% endfor %}
最后,定义URL地址与视图函数之间的映射关系,并在项目的urls.py文件中引用应用的urls.py文件。
# myapp/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('article_list/', views.article_list, name='article_list'),
]
# myproject/urls.py
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('admin/', admin.site.urls),
path('myapp/', include('myapp.urls')),
]
之后,你可以在浏览器中访问"http://127.0.0.1:8000/myapp/article_list/"地址来查看你的文章列表。
示例2:创建一个用户注册系统
首先,你需要创建一个Django项目和一个Django应用。然后,在应用中创建一个User模型,用来存储用户数据。
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
nickname = models.CharField(max_length=50, blank=True)
然后,进行数据库迁移并创建数据表。
python manage.py makemigrations
python manage.py migrate
接下来,创建一个视图函数和两个HTML模板文件,用来分别展示用户注册表单和用户注册成功的页面。
from django.shortcuts import render, redirect
from django.contrib.auth.forms import UserCreationForm
from .models import User
def user_register(request):
if request.method == 'POST':
form = UserCreationForm(request.POST)
if form.is_valid():
form.save()
return redirect('user_register_done')
else:
form = UserCreationForm()
return render(request, 'user_register.html', {'form': form})
def user_register_done(request):
return render(request, 'user_register_done.html')
在应用的templates目录下,我们创建两个HTML模板文件,分别为user_register.html和user_register_done.html。
<!-- user_register.html -->
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Register">
</form>
<!-- user_register_done.html -->
<p>Congratulations! You have registered successfully!</p>
最后,定义URL地址与视图函数之间的映射关系,并在项目的urls.py文件中引用应用的urls.py文件。
# myapp/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('user_register/', views.user_register, name='user_register'),
path('user_register_done/', views.user_register_done, name='user_register_done'),
]
# myproject/urls.py
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('admin/', admin.site.urls),
path('myapp/', include('myapp.urls')),
]
之后,你可以在浏览器中访问"http://127.0.0.1:8000/myapp/user_register/"地址来注册新的用户。注册成功后,你将会被重定向到"http://127.0.0.1:8000/myapp/user_register_done/"地址来查看成功信息。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Django基础知识与基本应用入门教程 - Python技术站