使用djiango 创建网站

时间:2022-03-05 09:07:15

  如果发现用户登录异常等情况请不要惊慌,换个浏览器就好了,谷歌有这个问题,也困扰我很久。

  如果搭建过程,发现新建topic异常等现象,把不要惊慌,可能是你没有进行数据重新清理,请彻底格式化数据库就好了。

1.这不是一个容易的事,如果你之前并没有做过。

2.我这是基于pycharm

使用djiango 创建网站

使用djiango 创建网站

admin 是用户主页,admin  不是必须的,admin中可以注册你的模型(数据库模型)

使用djiango 创建网站

使用djiango 创建网站

这个地方添加你的app名字

使用djiango 创建网站

templates模板路径地址

使用djiango 创建网站

接下来需要创建数据库

 python manage.py migrate

创建超级用户

python manage.py createsuperuser

用户名和密码必须要输入,密码必须包含8个字符

每次添加新的数据库模板我们需要,我们要调整数据库,迁移数据库

python manage.py makemigrations learning_logs

python manage.py migrate

接下来使用shell来调试

对数据库做了改动如果数据不重要可以直接清空,就不用下面的步骤了
python manage.py flush
#首先进行数据关联用户,先启动shell
python manage.py shell
from django.contrib.auth.models import User User.objects.all()
#关联数据
for user in User.objects.all():
  (table)
  print(user.username,user.id)
#迁移数据库 以下命令要在shell里面输入(ctr+z)
python manage.py makemigrations learning_logs
#选择数据1
python manage.py migrate
python manage.py shell
#下面是一些验证数据
from learning_logs.models import Topic topics = Topic.objects.all()
  #主题所有者打印
  print(topic,topic.owner)
for topic in topics: (table 空格下面的语句不然会出错)   print(topic.id,topic) t=Topic.objects.get(id=1) t.text t.date_added t.entry_set.all()
这几条似乎很重要,负责后面网站添加数据,数据库貌似会出一些问题

我大概遇到了这几个问题

使用djiango 创建网站

使用djiango 创建网站

使用djiango 创建网站

上面的 fields 决定了展现用户form的哪几项,有的如果用户没有创建,django会帮你创建,有时候会导致一些我们不想要的东西,所以只列举你想要创建的对象,不能选择 --all--

forms是表单,我们可以通过指定  get和post来区别是获取一个空表单还是提交表单

使用djiango 创建网站

很庆幸 它工作了

使用djiango 创建网站使用djiango 创建网站

使用djiango 创建网站

使用djiango 创建网站

有 id可以填,没有就不要添参数会出错

通过

python manage.py startapp users

可以快速创建一个新的应用程序目录,包含必备的文件树

如果发现一些无法控制网页错乱,无法跳转等事项请确认是不是浏览器缓存的故障,更换浏览器或者清空cookie可能能够解决。

File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "D:\python_work\myweb\learning_logs\models.py", line 6, in <module>
class Topic(models.Model):
File "D:\python_work\myweb\learning_logs\models.py", line 10, in Topic
owner = models.ForeignKey(User)
TypeError: __init__() missing 1 required positional argument: 'on_delete'

owner = models.ForeignKey(User,on_delete=models.DO_NOTHING)#不然说参数错误 关联到一起
python manage.py shell
from django.contrib.auth.models import User
User.objects.all() for user in User.object.all():
print(user.username,user.id)