Sachverhalt:
A.
Der jamaikanische Staatsangehörige A._, geboren 1965, lebt seit 1994 in der Schweiz und verfügt heute über die Niederlassungsbewilligung. Aus einer früheren Ehe mit einer Schweizerin hat er zwei Kinder, die sich noch im jugendlichen Alter befinden. Er wird seit zehn Jahren von der Sozialhilfe unterstützt. Zurzeit läuft gegen ihn ein von der Staatsanwaltschaft IV des Kantons Zürich geführtes Strafverfahren wegen (versuchter) schwerer Körperverletzung. Am 19. April 2017 wurde er verhaftet und mit Verfügung des Zwangsmassnahmengerichts des Bezirks Zürich vom 21. April 2017 in Untersuchungshaft versetzt. Am 26. Juni 2017 wies das Zwangsmassnahmengericht ein Haftentlassungsgesuch ab. Am 10. Juli 2017 erhob die Staatsanwaltschaft Anklage gegen A._. Mit Verfügung vom 18. Juli 2017 ordnete das Zwangsmassnahmengericht auf Antrag der Staatsanwaltschaft Sicherheitshaft wegen Fluchtgefahr an.
B.
Dagegen erhob A._ Beschwerde beim Obergericht des Kantons Zürich. Mit Beschluss vom 4. August 2017 wies die III. Strafkammer des Obergerichts die Beschwerde ab.
C.
A._ führt beim Bundesgericht Beschwerde in Strafsachen mit dem Antrag, den Beschluss des Obergerichts aufzuheben und, allenfalls unter Anordnung von Ersatzmassnahmen, seine Entlassung aus der Haft zu verfügen. In prozessualer Hinsicht wird um unentgeltliche Rechtspflege und Verbeiständung ersucht. Zur Begründung wird im Wesentlichen geltend gemacht, aufgrund der langjährigen und familiären Verbindungen zur Schweiz und der bestehenden Sozialhilfeabhängigkeit bestehe keine Fluchtgefahr.
Die Staatsanwaltschaft schliesst auf Abweisung der Beschwerde. Das Obergericht verzichtete auf eine Stellungnahme.
A._ verzichtete unter Festhalten an seinen Anträgen auf weitere Ausführungen.
Erwägungen:
1.
1.1. Nach Art. 229 Abs. 1 StPO entscheidet das Zwangsmassnahmengericht über die Anordnung der Sicherheitshaft bei vorbestehender Untersuchungshaft. Angefochten ist hier der entsprechende kantonal letztinstanzliche Haftentscheid des Obergerichts. Dagegen steht die Beschwerde in Strafsachen nach den Art. 78 ff. BGG offen. Der Beschwerdeführer ist durch die Anordnung von Sicherheitshaft in seinen rechtlich geschützten Interessen betroffen und damit zur Beschwerde befugt (Art. 81 Abs. 1 BGG). Er macht die Verletzung von Bundesrecht geltend, was zulässig ist (Art. 95 lit. a BGG). Die übrigen Sachurteilsvoraussetzungen geben zu keinen Bemerkungen Anlass, weshalb auf die Beschwerde einzutreten ist.
1.2. Das Bundesgericht prüft die Auslegung und Anwendung der Strafprozessordnung mit Blick auf die Schwere des Eingriffs frei. Art. 98 BGG gelangt bei strafprozessualen Zwangsmassnahmen nicht zur Anwendung (BGE 138 IV 186 E. 1.2 S. 189 mit Hinweisen).
2.
2.1. Nach den Grundvoraussetzungen von Art. 221 StPO ist Sicherheitshaft insbesondere nur zulässig, wenn die beschuldigte Person eines Verbrechens oder Vergehens dringend verdächtig ist und ein im Gesetz genannter Haftgrund vorliegt. Die hier strittige Haft stützt sich auf Fluchtgefahr gemäss Art. 221 Abs. 1 lit. a StPO. Überdies hat die Haft wie alle strafprozessualen Zwangsmassnahmen verhältnismässig zu sein (vgl. insbes. Art. 197 StPO) und sie darf nicht länger dauern als die zu erwartende Freiheitsstrafe (Art. 212 Abs. 3 StPO).
2.2. Die Annahme von Fluchtgefahr setzt ernsthafte Anhaltspunkte dafür voraus, dass die beschuldigte Person sich durch Flucht dem Strafverfahren oder der zu erwartenden Sanktion entziehen könnte (Art. 221 Abs. 1 lit. a StPO). Im Vordergrund steht dabei eine mögliche Flucht ins Ausland, denkbar ist jedoch auch ein Untertauchen im Inland. Bei der Bewertung, ob Fluchtgefahr besteht, sind die gesamten konkreten Verhältnisse zu berücksichtigen. Es müssen Gründe bestehen, die eine Flucht nicht nur als möglich, sondern als wahrscheinlich erscheinen lassen. Die Schwere der drohenden Strafe ist zwar ein Indiz für Fluchtgefahr, genügt jedoch für sich allein nicht, um den Haftgrund zu bejahen. Miteinzubeziehen sind die familiären und sozialen Bindungen, die berufliche und finanzielle Situation und die Kontakte zum Ausland. Selbst bei einer befürchteten Reise in ein Land, welches die beschuldigte Person grundsätzlich an die Schweiz ausliefern bzw. stellvertretend verfolgen könnte, ist die Annahme von Fluchtgefahr nicht ausgeschlossen. Die Wahrscheinlichkeit einer Flucht nimmt in der Regel mit zunehmender Verfahrens- bzw. Haftdauer ab, da sich auch die Dauer des allenfalls noch abzusitzenden strafrechtlichen Freiheitsentzugs mit der bereits geleisteten prozessualen Haft, die auf die mutmassliche Freiheitsstrafe anzurechnen wäre (Art. 51 StGB), kontinuierlich verringert (BGE 143 IV 160 E. 4.3 S. 166 f. mit verschiedenen Hinweisen).
3.
Der Beschwerdeführer bestreitet das Vorliegen eines dringenden Tatverdachts für eine massgebliche Anlasstat nicht, und ein solcher steht auch, insbesondere aufgrund der inzwischen erhobenen Anklage, nicht in Zweifel.
4.
4.1. Das Obergericht begründete die Fluchtgefahr im Wesentlichen damit, die Staatsanwaltschaft beantrage in ihrer Anklageschrift eine Freiheitsstrafe von vier Jahren sowie eine Landesverweisung von fünf Jahren. Die Androhung der Freiheitsstrafe sowie der Landesverweisung bildeten einen Anreiz zur Flucht. Da der Beschwerdeführer die Schweiz jedenfalls zu verlassen haben werde, sei von einer ausgeprägten Fluchtgefahr zur Vermeidung des Strafvollzugs auszugehen. Geeignete Ersatzmassnahmen gebe es nicht. Der Beschwerdeführer beruft sich im Wesentlichen auf seine engen Bindungen zur Schweiz sowie auf die Sozialhilfeabhängigkeit und eine aus seiner Sicht analoge Rechtsprechung des Bundesgerichts.
4.2. Der Beschwerdeführer wurde 2015 wegen Beschimpfung zu einer bedingten Geldstrafe von 10 Tagessätzen zu Fr. 30.-- und 2016 wegen Verstosses gegen das Betäubungsmittelgesetz zu einer Geldstrafe von 60 Tagessätzen zu Fr. 30.-- sowie zu einer Busse von Fr. 200.-- verurteilt. Einschlägig vorbestraft ist er jedoch nicht. Im hier massgeblichen Strafverfahren steht der Beschwerdeführer auf dem Standpunkt, in Notwehr gehandelt zu haben. Er stammt aus Jamaika und lebt seit 23 Jahren in der Schweiz, wo er inzwischen über die Niederlassungsbewilligung verfügt. Zu seinen zwei ebenfalls hier lebenden Schweizer Kindern, die sich im noch jugendlichen Alter befinden, aus einer früheren Ehe mit einer Schweizerin pflegt er angeblich väterlichen Kontakt, was nicht bestritten ist. Er hat weder Einkommen noch Vermögen und wird seit zehn Jahren von der Sozialhilfe unterstützt. Gemäss Anklageschrift erhält er eine Rente der Invalidenversicherung, was allerdings aus den Haftakten selbst nicht hervorgeht.
4.3. Der Beschwerdeführer riskiert gemäss der Anklageschrift wegen (versuchter) schwerer Körperverletzung (Art. 122 StGB) eine Freiheitsstrafe von vier Jahren sowie die Landesverweisung für fünf Jahre (Art. 66a Abs. 1 lit. b StGB). Damit sieht er sich einer nicht unbedeutenden Strafdrohung gegenüber. Allerdings beruft er sich in der Sache auf Notwehr und im Hinblick auf die allfällige Landesverweisung auf einen schweren persönlichen Härtefall (Art. 66a Abs. 2 StGB). Es liegt auf der Hand, dass diese Verteidigungsstrategie erheblich an Glaubwürdigkeit verlieren würde, wenn er sich der Strafverfolgung durch Flucht entzöge. Sodann gibt es zwar zum Härtefall nach Art. 66a Abs. 2 StGB noch keine höchstrichterliche Rechtsprechung und noch kaum Praxis; im Schrifttum wird allerdings die Ansicht vertreten, dass persönliche und familiäre Bindungen zu berücksichtigen sind und bei entsprechender Bedeutsamkeit unter Umständen ein Absehen von der Landesverweisung zu rechtfertigen vermögen (vgl. ADRIAN BERGER, Umsetzungsgesetzgebung zur Ausschaffungsinitiative, Jusletter 7. August 2017, Rz. 68 ff., insbes. Rz. 82 ff. und 102 ff.; MARC BUSSLINGER/PETER UEBERSAX, Härtefallklausel und migrationsrechtliche Auswirkungen der Landesverweisung, in: plädoyer 5/16, S. 97 ff., insbes. S. 100 ff.; FANNY DE WECK, in: Spescha et al., Migrationsrecht, Kommentar, 4. Aufl., 2015, Rz. 18 ff. zu Art. 66a StGB). Gestützt darauf erscheint angesichts der langjährigen Anwesenheit des Beschwerdeführers in der Schweiz und der Beziehungen zu seinen Kindern die Möglichkeit der Anwendung des Ausnahmetatbestands des Härtefalles nicht von vornherein ausgeschlossen. Im Übrigen bestand das Risiko einer Wegweisung bereits unter altem Recht. Zwar beruhte dies auf einer anderen - verwaltungs- statt strafrechtlichen - Grundlage und es galten andere Rechtsvorgaben; es verhält sich aber nicht so, dass das Risiko, die Schweiz verlassen zu müssen, und der damit verbundene allfällige Fluchtanreiz sich in jedem Fall massiv verändert hätten. Gerade im vorliegenden Fall erscheinen die Rechtsfolgen aufgrund der noch unklaren Rechtspraxis zurzeit offen.
4.4. Sodann gibt es keine Hinweise für engere Auslandkontakte des Beschwerdeführers. Insbesondere bestehen keine Anhaltspunkte für regelmässige Reisen nach Jamaika. Hinzu kommt, dass der Beschwerdeführer bei einer allfälligen Flucht, sei es durch Ausreise ins Ausland, insbesondere nach Jamaika, sei es durch Untertauchen im Inland, umgehend seine Sozialhilfeunterstützung und allenfalls auch die Rente der Invalidenversicherung, so er tatsächlich über eine solche verfügt, verlieren würde und damit völlig mittellos wäre. Dass er alternative Möglichkeiten wie insbesondere Hilfe durch genügend wohlhabende Verwandte oder Freunde hätte, wird auch von Seiten der Staatsanwaltschaft nicht geltend gemacht. Chancen im freien Arbeitsmarkt hat der über 50-jährige Beschwerdeführer nach zehnjähriger Erwerbslosigkeit praktisch kaum mehr, und zwar mit einer gewissen Wahrscheinlichkeit weder im In- noch im Ausland. Damit wäre ihm bei einer Flucht unverzüglich die Lebensgrundlage entzogen und es würde ihm die Verelendung und Vereinsamung drohen. Demgegenüber unterstützte ihn die Sozialbehörde nicht nur finanziell, sondern vermittelte ihm auch eine Hilfstätigkeit in einem Kinderhort, die ihm Beschäftigung und eine gewisse Anerkennung bietet. Wohl ist die Ausübung dieser Tätigkeit zurzeit wegen der bisher vollzogenen Haft ausgesetzt; eine Wiederaufnahme hängt aber so oder so davon ab, dass der Beschwerdeführer nicht untertaucht oder flieht. Der Anreiz, die Schweiz zu verlassen oder im Inland abzutauchen, erscheint demnach insgesamt entgegen der Auffassung der Vorinstanz als nicht ausgeprägt.
4.5. Sodann lässt das vom Beschwerdeführer vergleichsweise angerufene Urteil des Bundesgerichts 1P.625/2006 vom 12. Oktober 2006 durchaus gewisse Analogieschlüsse zu. Die damalige Beschwerdeführerin war ebenfalls erwerbsunfähig, verfügte über keine nennenswerten Ersparnisse und sorgte seit über zehn Jahren nicht mehr selbst für ihren Lebensunterhalt, sondern bezog Rentenzahlungen der Invalidenversicherung sowie Ergänzungs- und Sozialhilfeleistungen. Zwar hatte sie keine Auslandskontakte und es drohte ihr nicht die Wegweisung; es fehlte ihr aber im Unterschied zum Beschwerdeführer auch ein inländisches soziales und familiäres Beziehungsnetz. Insgesamt lässt die Sachlage damit durchaus gewisse Vergleiche zu. Das Bundesgericht verneinte im damaligen Urteil Fluchtgefahr.
4.6. Insgesamt kann zwar eine Flucht des Beschwerdeführers ins Ausland oder ein Untertauchen im Inland nicht völlig ausgeschlossen werden. Eine ernsthafte Gefahr bzw. Wahrscheinlichkeit der Flucht lässt sich aber nicht belegen. Fluchtgefahr, welche die Sicherheitshaft rechtfertigt, ist daher zu verneinen. Ohne massgebliche Fluchtgefahr entfällt ebenfalls die Möglichkeit der Anordnung von Ersatzmassnahmen. Daran ändert nichts, dass die Haft oder Ersatzmassnahmen einzig gemessen an den zeitlichen Verhältnissen allenfalls verhältnismässig erscheinen mögen. Ein anderer Haftgrund stand aufgrund der Sachlage nie zur Diskussion.
5.
Die Beschwerde erweist sich als begründet und ist gutzuheissen. Der angefochtene Entscheid ist aufzuheben, und die Staatsanwaltschaft ist anzuweisen, den Beschwerdeführer unverzüglich aus der Haft zu entlassen.
Bei diesem Verfahrensausgang sind keine Kosten zu erheben (vgl. Art. 66 BGG). Der Kanton Zürich hat den Beschwerdeführer für das bundesgerichtliche Verfahren zu entschädigen (Art. 68 BGG). Damit braucht über das Gesuch um unentgeltliche Rechtspflege und Verbeiständung nicht entschieden zu werden. Die Sache geht zurück an das Obergericht zur Neuregelung der Kosten und Entschädigungen vor den beiden Vorinstanzen.
Demnach erkennt das Bundesgericht:
1.
1.1. Die Beschwerde wird gutgeheissen und der Beschluss des Obergerichts des Kantons Zürich, III. Strafkammer, vom 4. August 2017 wird aufgehoben.
1.2. Die Staatsanwaltschaft IV des Kantons Zürich wird angewiesen, den Beschwerdeführer unverzüglich aus der Haft zu entlassen.
2.
Es werden keine Kosten erhoben.
3.
Der Kanton Zürich hat den Rechtsvertreter des Beschwerdeführers, Rechtsanwalt Rainer Cao, für das bundesgerichtliche Verfahren mit Fr. 2'000.-- zu entschädigen.
4.
Die Sache geht zurück an das Obergericht des Kantons Zürich zur Neuregelung der Kosten und Entschädigungen im kantonalen Haftverfahren.
5.
Dieses Urteil wird dem Beschwerdeführer, der Staatsanwaltschaft IV des Kantons Zürich und dem Obergericht des Kantons Zürich, III. Strafkammer, schriftlich mitgeteilt.
Lausanne, 12. September 2017
Im Namen der I. öffentlich-rechtlichen Abteilung
des Schweizerischen Bundesgerichts
Der Präsident: Merkli
Der Gerichtsschreiber: Uebersax