Django'/'只有主页网址错误

时间:2018-01-02 16:01:06

标签: python django routing

我正在使用Django 2.0,现在我不知道如何为主页制作一个'空'网址。这意味着,我希望它为web.com/web.com路由。我尝试了这段代码,但它不起作用:

urlpatterns = [
    path('admin/', admin.site.urls),
    path('/', include('post.urls'))
]

...和post.urls

urlpatterns = [
    path('', views.index, name='index')
]

我向localhost:8000提出请求时收到的错误:

  

请求网址:http://localhost:8000/   使用myblog.urls中定义的URLconf,Django按以下顺序尝试了这些URL模式:

     
      
  1. 管理员/

  2.   
  3. /

  4.         

    空路径与其中任何一个都不匹配。

我确实找到了一种解决方法,将path设置为两个空字符串'',但我不确定是否推荐它或可能导致的错误。非常感谢帮助。谢谢: - )。

2 个答案:

答案 0 :(得分:8)

你不需要" /"对于主页,只需将路径留给""。 然而,主页127.0.0.1:8000/与127.0.0.1:8000相同。 此URL模式适用于主页。

urls.py

private void jButtonActionPerformed(java.awt.event.ActionEvent evt){                                         
    Connection conn = null;
    PreparedStatement ps = null;

    try {
        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/hotelmgt","root","");
        ps = conn.prepareStatement("SELECT * FROM userprofile WHERE userName = ? AND passWord = ?");
        ps.setString(1, jTextField_userName.getText());
        ps.setString(2, String.valueOf(jPasswordField_login.getPassword()));
        ResultSet rs = ps.executeQuery();

        if(rs.next()){
                String userType = rs.getString("emp_Type");
                if (userType.equals("ADMIN")){
                    this.setVisible(false);
                     Admin_Panel ap = new Admin_Panel();
                     ap.setVisible(true);
                     break;
                } else (userType.equals("RCEP")){
                    this.setVisible(false);
                    Admin_Panel ap = new Admin_Panel();
                     ap.setVisible(false);
                    Reception rcep = new Reception();
                    rcep.setVisible(true);
                    break;
                }

        } else{
            conn.close();
            JOptionPane.showMessageDialog(this,"UserName Or Password Invalid");
        }
    } catch (SQLException ex) {
        Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);
    }

}      

urlpatterns = [ path('admin/', admin.site.urls), path('', include('post.urls')) ]

posts.urls

答案 1 :(得分:0)

Django 2.0 doccumentation中有大量空白URL模式的引用。

Django 2.0 Docs URLs section

此外,不需要在浏览器中查看时在“admin /”上添加的斜杠。 url调度程序将删除URL confs上的尾部斜杠,但不会在Web请求中删除它。这意味着它不会在您的情况下找到匹配项,请尝试localhost:8000 / admin