学习书 Python 从入门到实践 18.3.1 映射 URL 出错,弄了两晚上,实在没解了,来问下大佬们 - V2EX
shonky

学习书 Python 从入门到实践 18.3.1 映射 URL 出错,弄了两晚上,实在没解了,来问下大佬们

  •  
  •   shonky Sep 4, 2018 4325 views
    This topic created in 2813 days ago, the information mentioned may be changed or developed.

    https://i.loli.net/2018/09/04/5b8e904239492.png 如图所示,Django 是 2.1.1 的,python3.7 请教下大佬啊,文档也看了,谷歌也谷歌到相应问题,照着改了就是没用啊。

    27 replies    2018-09-05 21:41:14 +08:00
    princelai
        1
    princelai  
       Sep 4, 2018 via Android
    django-admin startapp xxxx,你是这么添加 Django app 的呢
    shonky
        2
    shonky  
    OP
       Sep 4, 2018
    @princelai 不是这么 python manage.py startapp learning_logs 创建的么?
    Sanko
        3
    Sanko  
       Sep 4, 2018 via Android   1
    提示说的很明白了,你没写 app_name 啊
    xpresslink
        4
    xpresslink  
       Sep 4, 2018   1
    解决方法
    在 project\learning_notes\urls.py
    开头加上一句
    app_name = 'learning_notes'
    shonky
        5
    shonky  
    OP
       Sep 4, 2018
    @Sanko 谢谢,网页是可以打开了,可显示 404,
    shonky
        6
    shonky  
    OP
       Sep 4, 2018
    @xpresslink 谢谢了,确实是可以,没报错了,又出现个问题为啥不能正常显示 index.html.
    xpresslink
        7
    xpresslink  
       Sep 4, 2018   1
    @shonky
    加了 namespace 后
    反解析 url 时都要使用 {% url 'learning_notes: method_name ‘ %} 模式。
    shonky
        8
    shonky  
    OP
       Sep 4, 2018
    @xpresslink 这个东西加在<head ></head>中么
    Sanko
        9
    Sanko  
       Sep 4, 2018 via Android   1
    显示 404 ?你可以把你的 urls 和 views 贴上来,根据你目前提供的信息无法判断
    xpresslink
        10
    xpresslink  
       Sep 4, 2018   1
    @shonky
    settings.py 中 打开调试模式

    DEBUG=True

    把报错详细信息贴上来
    shonky
        11
    shonky  
    OP
       Sep 4, 2018
    @Sanko Not Found
    The requested URL / was not found on this server.
    shonky
        12
    shonky  
    OP
       Sep 4, 2018
    @xpresslink 这个解决了,404 不见了。出现了这个 Not Found
    The requested URL / was not found on this server.。
    我不太知道创建了一个简单的 index.html,这个反解析要放在那里。
    shonky
        13
    shonky  
    OP
       Sep 4, 2018
    @xpresslink 这个错误好像和反解析没关系吧,因为并没有用到 URL
    Sanko
        14
    Sanko  
       Sep 4, 2018 via Android
    你现在是首页要显示一个已经写好的 html 文件是吗?你可以去搜下 render 函数
    shonky
        15
    shonky  
    OP
       Sep 4, 2018 via Android
    @Sanko 好的,我是按那书上做的。也许是因为版本不同,有些东西用的不太一样。我明天在看看文档。看是不是 render 用法变了。
    RBQMT
        16
    RBQMT  
       Sep 5, 2018
    url.py 里 path 后面不用写正则,path('admin/', admin.site.urls),这样写就行
    RBQMT
        17
    RBQMT  
       Sep 5, 2018
    path('about_us/',views.about_us, name='about_us'),上面例子不太好,这样
    xpresslink
        18
    xpresslink  
       Sep 5, 2018
    @shonky
    最省事的办法


    然后在 urlpatterns 中最上面加一行
    path('', TemplateView.as_view(template_name="index.html"), name="index"),
    xpresslink
        19
    xpresslink  
       Sep 5, 2018
    在 learning_notes 下的 urls 开头加一行
    from django.views.generic import TemplateView
    PulpFunction
        20
    PulpFunction  
       Sep 5, 2018
    上 git 看看 demo 啥的
    shonky
        21
    shonky  
    OP
       Sep 5, 2018 via Android
    @RBQMT 是 2.11 版本 path 可以不用像 url 那样写正则么。看文档说 path 比 url 能更好弄路由。
    shonky
        22
    shonky  
    OP
       Sep 5, 2018 via Android
    @PulpFunction 看 demo 样例是叫我去看看别人优秀的源码么。还是怎么个意思 。
    shonky
        23
    shonky  
    OP
       Sep 5, 2018 via Android
    @xpresslink 好的,晚上回去试试。谢谢大佬抽空解答。
    metamask
        24
    metamask  
       Sep 5, 2018
    app_name = getattr(urlconf_module, 'app_name', app_name)
    if namespace and not app_name:
    raise ImproperlyConfigured(
    'Specifying a namespace in include() without providing an app_name '
    'is not supported. Set the app_name attribute in the included '
    'module, or pass a 2-tuple containing the list of patterns and '
    'app_name instead.',
    )


    @shonky
    你点进去 include 可以看到这个;

    你设置 namespace 相对应在 include 的 urls 也需要设置 app_name ;


    url reverse 的时候也必须加上去:
    如"namespace:route" 或者 "app_name:route";

    相同的情况下,默认优先匹配第一个;
    shonky
        25
    shonky  
    OP
       Sep 5, 2018 via Android
    @freakxx 感谢大佬帮助。
    shonky
        26
    shonky  
    OP
       Sep 5, 2018
    @xpresslink 大佬,按你的改了。网页报错 Server Error (500)
    xpresslink
        27
    xpresslink  
       Sep 5, 2018
    @shonky

    在 settings py 中 打开调试模式

    DEBUG=True

    把报错详细信息贴上来
    About     Help     Advertise     Blog     API     FAQ     Solana     3288 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 93ms UTC 11:26 PVG 19:26 LAX 04:26 JFK 07:26
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86