用django实现一个简单的页面

学习了一段时间的django,今天总算对它有点感觉了尴尬。用自己的话介绍django,应该就是一种可以通过执行一系列的方法,将请求的内容返回给客户的web框架。

1.首先,创建项目,创建app,连接服务器。这些操作可以在命令行下进行,也可以在py-charm中进行,看个人爱好。以下展示命令行的操作。


2.具体项目如下

.

3.views.py

from django.shortcuts import render
from django.http import HttpResponse

def Index(request):
    return render(request,'index.html')

def Login(request):
        retu
  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的用 Django 搭建问答系统的教程: 1. 确认 Django 环境已经搭建好,可以使用以下命令检查 Django 版本: ``` python -m django --version ``` 2. 创建一个 Django 项目: ``` django-admin startproject myproject ``` 3. 在 myproject 目录下创建一个 app: ``` cd myproject python manage.py startapp qa ``` 4. 在 qa 目录下创建一个名为 `urls.py` 的文件,用于配置问答系统的 URL: ```python from django.urls import path from . import views urlpatterns = [ path('', views.home, name='home'), path('q/<int:question_id>/', views.question_detail, name='question_detail'), ] ``` 这里我们需要创建两个 URL,一个是首页(即 `/`),一个是问题详情页(即 `/q/1/` 等)。 5. 在 qa 目录下创建一个名为 `views.py` 的文件,用于处理 URL 请求: ```python from django.shortcuts import render, get_object_or_404 from .models import Question def home(request): questions = Question.objects.all() return render(request, 'qa/home.html', {'questions': questions}) def question_detail(request, question_id): question = get_object_or_404(Question, pk=question_id) return render(request, 'qa/question_detail.html', {'question': question}) ``` 这里我们需要创建两个视图函数,一个是首页的 `home`,一个是问题详情页的 `question_detail`。 6. 在 qa 目录下创建一个名为 `models.py` 的文件,用于定义数据模型: ```python from django.db import models class Question(models.Model): title = models.CharField(max_length=200) content = models.TextField() pub_date = models.DateTimeField(auto_now_add=True) def __str__(self): return self.title class Answer(models.Model): content = models.TextField() pub_date = models.DateTimeField(auto_now_add=True) question = models.ForeignKey(Question, on_delete=models.CASCADE) def __str__(self): return self.content ``` 这里我们需要创建两个数据模型,一个是问题(`Question`),一个是答案(`Answer`),并且使用外键关联问题和答案。 7. 在 myproject 目录下的 `settings.py` 中添加 `qa` 应用,配置模板路径和数据库: ```python INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'qa', ] # 模板路径 TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ] # 数据库配置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', } } ``` 8. 在 myproject 目录下创建一个名为 `urls.py` 的文件,用于配置全局 URL: ```python from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('', include('qa.urls')), ] ``` 这里我们需要将 `qa` 应用的 URL 包含进来。 9. 在 `qa` 应用的 `templates` 目录下创建两个 HTML 模板,分别是 `home.html` 和 `question_detail.html`,并写入以下代码: `home.html`: ```html {% extends 'base.html' %} {% block content %} <h1>Questions</h1> <ul> {% for question in questions %} <li><a href="{% url 'question_detail' question.id %}">{{ question.title }}</a></li> {% endfor %} </ul> {% endblock %} ``` `question_detail.html`: ```html {% extends 'base.html' %} {% block content %} <h1>{{ question.title }}</h1> <p>{{ question.content }}</p> <h2>Answers</h2> <ul> {% for answer in question.answer_set.all %} <li>{{ answer.content }}</li> {% endfor %} </ul> {% endblock %} ``` 这里我们使用了 Django 的模板语言,通过模板继承和代码块来实现页面的渲染。 10. 在 myproject 目录下创建一个名为 `base.html` 的文件,用于定义页面的基本结构: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>{% block title %}QA System{% endblock %}</title> </head> <body> {% block content %}{% endblock %} </body> </html> ``` 这里我们定义了一个基本的 HTML 结构,包含了页面标题和内容块。 11. 运行 Django 项目: ``` python manage.py runserver ``` 然后在浏览器中访问 `http://localhost:8000`,就可以看到问答系统的首页了。 以上就是一个简单的用 Django 搭建问答系统的教程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值